當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]觸摸屏是通過中斷來實(shí)現(xiàn)的。我的程序是在sdram中運(yùn)行的,要想正確的實(shí)現(xiàn)中斷跳轉(zhuǎn),就要使MMU工作,實(shí)現(xiàn)物理地址與虛擬地址的映射,把虛擬地址0x00000000映射到物理地址0x30000000(sdram的首地址)。MMU相應(yīng)的函數(shù)在24

觸摸屏是通過中斷來實(shí)現(xiàn)的。我的程序是在sdram中運(yùn)行的,要想正確的實(shí)現(xiàn)中斷跳轉(zhuǎn),就要使MMU工作,實(shí)現(xiàn)物理地址與虛擬地址的映射,把虛擬地址0x00000000映射到物理地址0x30000000(sdram的首地址)。MMU相應(yīng)的函數(shù)在2440slib.s中。

觸摸屏可分為矢量壓力傳感式、電阻式、電容式、紅外式和表面聲波式等,我用的是最普遍的-四線電阻式。


s3c2440集成了4線制電阻式的觸摸屏接口,觸點(diǎn)坐標(biāo)的檢測(cè)是通過A/D轉(zhuǎn)換來實(shí)現(xiàn)的。s3c2440提供8路A/D模擬輸入,其中有4路是與觸摸屏復(fù)用的,s3c2440比s3c2410改進(jìn)的地方是片內(nèi)部加入了開關(guān)用的MOS管,在設(shè)計(jì)電路時(shí),直接將4路觸摸屏引出外加一路基準(zhǔn)電壓(3.3v)就可以了。
  s3c2440一共有4種觸摸屏接口模式,其中,自動(dòng)(連續(xù))XY坐標(biāo)轉(zhuǎn)換模式和等待中斷模式應(yīng)用地比較常見。在此,為實(shí)現(xiàn)觸摸屏的功能,先是設(shè)置為等待中斷模式,在產(chǎn)生中斷后,再設(shè)置為自動(dòng)(連續(xù))XY坐標(biāo)轉(zhuǎn)換模式,依次讀取觸點(diǎn)的坐標(biāo)值。

  還有就是觸摸屏的校準(zhǔn), 校準(zhǔn)就是實(shí)現(xiàn)觸摸屏上的x、y坐標(biāo)和LCD的像素坐標(biāo)對(duì)應(yīng)起來。比較常見的校正方法是三點(diǎn)校正法(網(wǎng)上找的),即 LCD上每個(gè)點(diǎn)PD的坐標(biāo)為[XD,YD],觸摸屏上每個(gè)點(diǎn)PT的坐標(biāo)為[XT,YT]。要實(shí)現(xiàn)觸摸屏上的坐標(biāo)轉(zhuǎn)換為L(zhǎng)CD上的坐標(biāo),需要下列公式進(jìn)行轉(zhuǎn)換:

XD=A×XT+B×YT+C

YD=D×XT+E×YT+F

其中有ABCDEF六個(gè)參數(shù), 分別解ABC和DEF,需要3組數(shù)據(jù),那就需要采集3個(gè)校準(zhǔn)點(diǎn):
     XD0=A×XT0+B×YT0+C  YD0=D×XT0+E×YT0+F
XD1=A×XT1+B×YT1+C YD1=D×XT1+E×YT1+F
XD2=A×XT2+B×YT2+CYD2=D×XT2+E×YT2+F
可以用矩陣方面的知識(shí)解這三元一次函數(shù)得:
D0=(XT0-XT2)×(YT1-YT2)-(XT1-XT2)×(YT0-YT2);
D1=(XD0-XD2)×(YT1-YT2)-(XD1-XD2)×(YT0-YT2);
D2=(XT0-XT2)×(XD1-XD2)-(XD0-XD2)×(XT1-XT2);
D3=YT0×(XT2×XD1-XT1×XD2)+YT1×(XT0×XD2-XT2×XD0)+YT2×(XT1×XD0-XT0×XD1);
D4=(YD0-XD2)×(YT1-YT2)-(YD1-XD2)×(YT0-YT2);
D5=(XT0-XT2)×(YD1-YD2)-(YD0-YD2)×(XT1-XT2);
D6=YT0×(XT2×YD1-XT1×YD2)+YT1×(XT0×YD2-XT2×YD0)+YT2×(XT1×YD0-XT0×YD1);
A=D1/D0;B=D2/D0;C=D3/D0;D=D4/D0;F=D5/D0;A=D6/D0;

程序要實(shí)現(xiàn)的功能是:程序一開始,界面上會(huì)出現(xiàn)3個(gè)十字的取樣點(diǎn),分別標(biāo)有1、2、3,然后用觸筆依次的點(diǎn)擊,完成后,會(huì)進(jìn)入第二個(gè)界面,用觸筆隨機(jī)的點(diǎn)擊屏幕,會(huì)以觸點(diǎn)繪制出邊長(zhǎng)為4的小正方形。


簡(jiǎn)單的程序?qū)崿F(xiàn):

#include"def.h"
#include"option.h"
#include"2440addr.h"
#include"2440lib.h"
#include"2440slib.h"
#include"mmu.h"
//================================

externchar__ENTRY[];
//voidMMU_SetMTT(intvaddrStart,intvaddrEnd,intpaddrStart,intattr);
//voidMMU_Init(void);

//LCD*****************************************************
#defineM5D(n)((n)&0x1fffff)//用于設(shè)置顯示緩存區(qū)時(shí),取低21位地址

#defineLCD_WIDTH240//屏幕的寬
#defineLCD_HEIGHT320//屏幕的高

//垂直同步信號(hào)的脈寬、后肩和前肩-----這些值是根據(jù)TopPoly-TD035STED4.pdf文件中的13頁(yè)的表
#defineVSPW1//(3-1)
#defineVBPD1//(15-1)
#defineVFPD1//(12-1)

//水平同步信號(hào)的脈寬、后肩和前肩-----這些值是根據(jù)TopPoly-TD035STED4.pdf文件中的13頁(yè)的表
#defineHSPW(10-1)
#defineHBPD(20-1)
#defineHFPD(10-1)

//顯示尺寸
#defineLINEVAL(LCD_HEIGHT-1)
#defineHOZVAL(LCD_WIDTH-1)

//forLCDCON1
#defineCLKVAL_TFT4//設(shè)置時(shí)鐘信號(hào)
#defineMVAL_USED0//
#definePNRMODE_TFT3//TFT型LCD
#defineBPPMODE_TFT13//24位TFT型LCD

//forLCDCON5
#defineBPP24BL0//32位數(shù)據(jù)表示24位顏色值時(shí),低位數(shù)據(jù)有效,高8位無效
#defineINVVCLK0//像素值在VCLK下降沿有效
#defineINVVLINE1//翻轉(zhuǎn)HSYNC信號(hào)
#defineINVVFRAME1//翻轉(zhuǎn)VSYNC信號(hào)
#defineINVVD0//正常VD信號(hào)極性
#defineINVVDEN0//正常VDEN信號(hào)極性
#definePWREN1//使能PWREN信號(hào)
#defineBSWP0//顏色數(shù)據(jù)字節(jié)不交換
#defineHWSWP0//顏色數(shù)據(jù)半字不交換

//定義顯示緩存區(qū)
volatileunsignedintLCD_BUFFER[LCD_HEIGHT][LCD_WIDTH];

intA,B,C,D,E,F,K;
volatileintxdata,ydata;
intflagIIC;//IIC標(biāo)志
intflagTS;//觸摸屏標(biāo)志
//lCD******************************************************
//LCD顯示函數(shù)//////////////////////////////////////////////////
//延時(shí)程序
voiddelay(inta)
{
intk;
for(k=0;k}

//繪制屏幕背景顏色,顏色為c
voidBrush_Background(unsignedintc)
{
intx,y;
for(y=0;y{
for(x=0;x{
LCD_BUFFER[y][x]=c;
}
}
}

//繪制“十”字型
voiddrawCross(unsignedintx,unsignedinty,unsignedintcolor)
{
inti;
for(i=x-10;iLCD_BUFFER[y][i]=color;
for(i=y-10;iLCD_BUFFER[i][x]=color;
}

//繪制正方形
voiddrawsquare(unsignedintx,unsignedinty,unsignedintcolor)
{
inti,j;
intx1=x-2;
inty1=y-2;
for(i=y1;i{
for(j=x1;jLCD_BUFFER[i][j]=color;
}
}

//繪制大小為8×16的ASCII碼
voidDraw_ASCII(unsignedintx,unsignedinty,unsignedintcolor,constunsignedchar*ch)
{
unsignedshortinti,j;
unsignedcharmask,buffer;

for(i=0;i<16;i++)
{
mask=0x80;
buffer=ch[i];
for(j=0;j<8;j++)
{
if(buffer&mask)
{
LCD_BUFFER[y+i][x+j]=color;
}
mask=mask>>1;
}
}
}

voidinit_port_lcd()//初始化
{
rGPCCON=0xaaaaaaaa;
rGPCUP=0xffff;//ThepullupfunctionisdisabledGPC[15:0]

//***PORTDGROUP
//Ports:GPD15GPD14GPD13GPD12GPD11GPD10GPD9GPD8GPD7GPD6GPD5GPD4GPD3GPD2GPD1GPD0
//Signal:VD23VD22VD21VD20VD19VD18VD17VD16VD15VD14VD13VD12VD11VD10VD9VD8
//Binary:1010,1010,1010,1010,1010,1010,1010,1010
rGPDCON=0xaaaaaaaa;
rGPDUP=0xffff;

rLCDCON1=(CLKVAL_TFT<<8)|(MVAL_USED<<7)|(PNRMODE_TFT<<5)|(BPPMODE_TFT<<1)|0;
rLCDCON2=(VBPD<<24)|(LINEVAL<<14)|(VFPD<<6)|(VSPW);
rLCDCON3=(HBPD<<19)|(HOZVAL<<8)|(HFPD);
rLCDCON4=(HSPW);//
//rLCDCON4=(5<<0);
rLCDCON5=(BPP24BL<<12)|(INVVCLK<<10)|(INVVLINE<<9)|(INVVFRAME<<8)|(0<<7)|(INVVDEN<<6)|(PWREN<<3)|(BSWP<<1)|(HWSWP);

rLCDSADDR1=(((unsignedint)LCD_BUFFER>>22)<<21)|M5D((unsignedint)LCD_BUFFER>>1);
rLCDSADDR2=M5D((M5D((unsignedint)LCD_BUFFER>>1)+((LCD_WIDTH*32/16+0)*320)));//LCD_WIDTH*LCD_HEIGHT*4
rLCDSADDR3=(LCD_WIDTH*32/16)&0x7ff;//參考s3c2440的手冊(cè)
rLCDINTMSK|=(3);//屏蔽LCD中斷
//rTCONSEL=0;//無效LPC3480
rTCONSEL&=(~7);


rTPAL=0x0;
rTCONSEL&=~((1<<4)|1);

rGPGUP=rGPGUP&(~(1<<4))|(1<<4);//GPG4上拉電阻無效
rGPGCON=rGPGCON&(~(3<<8))|(3<<8);//設(shè)置GPG4為L(zhǎng)CD_PWREN
rGPGDAT=rGPGDAT|(1<<4);//GPG4置1

rLCDCON5=rLCDCON5&(~(1<<3))|(1<<3);//有效PWREN信號(hào)
rLCDCON5=rLCDCON5&(~(1<<5))|(0<<5);//PWREN信號(hào)極性不翻轉(zhuǎn)

rLCDCON1|=1;//LCD開啟
}
//LCD顯示函數(shù)//////////////////////////////////////////////////


void__irqADCTs(void)
{
rADCTSC=(1<<3)|(1<<2);//上拉電阻無效,自動(dòng)連續(xù)XY坐標(biāo)轉(zhuǎn)換模式開啟
rADCDLY=40000;//延時(shí)

rADCCON|=0x1;//開始A/D轉(zhuǎn)換

while(rADCCON&0x1);//檢查A/D轉(zhuǎn)換是否開始

while(!(rADCCON&0x8000));//等待A/D轉(zhuǎn)換的結(jié)束

while(!(rSRCPND&((unsignedint)0x1<<31)));//判斷A/D中斷的懸掛位

xdata=(rADCDAT0&0x3ff);//讀取X軸坐標(biāo)
ydata=(rADCDAT1&0x3ff);//讀取Y軸坐標(biāo)

flagTS=1;//置標(biāo)志

rSUBSRCPND|=0x1<<9;
rSRCPND=0x1<<31;
rINTPND=0x1<<31;
rINTSUBMSK=~(0x1<<9);
rINTMSK=~(0x1<<31);//清A/D中斷,開啟A/D中斷屏蔽

rADCTSC=0xd3;//再次設(shè)置等待中斷模式,這一次是判斷觸筆的抬起

rADCTSC=rADCTSC|(1<<8);//設(shè)置觸筆抬起中斷

while(1)//等待觸筆的抬起
{
if(rSUBSRCPND&(0x1<<9))//檢查A/D觸摸屏中斷懸掛
{
break;//如果觸筆抬起,則跳出該循環(huán)
}
}

rADCDLY=50000;
rSUBSRCPND|=0x1<<9;//寫1清除標(biāo)志
rINTSUBMSK=~(0x1<<9);//清0中斷使能,ADC的子中斷
rSRCPND=0x1<<31;//寫1清除標(biāo)志
rINTPND=0x1<<31;//再次清A/D中斷,開啟A/D中斷屏蔽
rADCTSC=0xd3;//設(shè)置等待光標(biāo)按下中斷模式,為下一次觸筆的落下做準(zhǔn)備
//011010011--//XP_PU,XP_Dis,XM_Dis,YP_Dis,YM_En.
}

constunsignedcharone[]={0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00};
constunsignedchartwo[]={0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x04,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00};
constunsignedcharthree[]=
{0x00,0x00,0x00,0x3C,0x42,0x42,0x04,0x18,0x04,0x02,0x02,0x42,0x44,0x38,0x00,0x00};
//用PCtoLCD2002字符生成軟件

//觸摸屏校正
voidTSCal(void)
{
inti=0;
intxt[3],yt[3];
Brush_Background(0xFFFFFF);
drawCross(24,32,0xFF0000);
Draw_ASCII(28,36,0xFF0000,one);//----
drawCross(216,160,0xFF0000);
Draw_ASCII(220,164,0xFF0000,two);//----
drawCross(120,288,0xFF0000);
Draw_ASCII(124,292,0xFF0000,three);//----

//依次讀取三個(gè)采樣點(diǎn)的坐標(biāo)值
for(i=0;i<3;i++)
{
while(flagTS==0)
delay(500);
xt[i]=xdata;
yt[i]=ydata;
flagTS=0;
}

//計(jì)算參數(shù)
K=(xt[0]-xt[2])*(yt[1]-yt[2])-(xt[1]-xt[2])*(yt[0]-yt[2]);
D=(32-288)*(yt[1]-yt[2])-(160-288)*(yt[0]-yt[2]);
E=(xt[0]-xt[2])*(160-288)-(32-288)*(xt[1]-xt[2]);
F=yt[0]*(xt[2]*160-xt[1]*288)+yt[1]*(xt[0]*288-xt[2]*32)+yt[2]*(xt[1]*32-xt[0]*160);
A=(24-120)*(yt[1]-yt[2])-(216-120)*(yt[0]-yt[2]);
B=(xt[0]-xt[2])*(216-120)-(24-120)*(xt[1]-xt[2]);
C=yt[0]*(xt[2]*216-xt[1]*120)+yt[1]*(xt[0]*120-xt[2]*24)+yt[2]*(xt[1]*24-xt[0]*216);
}

intMain(intargc,char**argv)
{
inti;
unsignedcharkey;
unsignedintmpll_val=0;
intdata;

intxLcd,yLcd;

mpll_val=(92<<12)|(1<<4)|(1);

//initFCLK=400M,sochangeMPLLfirst
ChangeMPllValue((mpll_val>>12)&0xff,(mpll_val>>4)&0x3f,mpll_val&3);
ChangeClockDivider(key,12);

rINTMOD=0x0;//All=IRQmode
rINTMSK=BIT_ALLMSK;//Allinterruptismasked.

MMU_Init();

init_port_lcd();

//*********************
rADCDLY=50000;//設(shè)置延時(shí)
rADCCON=(1<<14)+(9<<6);//設(shè)置A/D預(yù)分頻
rADCTSC=0xd3;//設(shè)置cm屏為等待中斷模式。
pISR_ADC=(int)ADCTs;
rINTMSK=~(0x1<<31);//開啟中斷
rINTSUBMSK=~(BIT_SUB_TC);

flagTS=0;
//*********************

TSCal();//校正
delay(200000);

Brush_Background(0xFFFFFF);

while(1)
{
if(flagTS)
{
flagTS=0;
xLcd=(A*xdata+B*ydata+C)/K;//計(jì)算Y軸坐標(biāo)
yLcd=(D*xdata+E*ydata+F)/K;//計(jì)算X軸坐標(biāo)
drawsquare(xLcd,yLcd,0xFF0000);//繪制正方形
}
delay(1000000);
}
return0;
}

//-------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------
voidMMU_Init(void)//配置MMU
{
inti,j;
MMU_DisableDCache();
MMU_DisableICache();

for(i=0;i<64;i++)
for(j=0;j<8;j++)
MMU_CleanInvalidateDCacheIndex((i<<26)|(j<<5));


MMU_InvalidateICache();
MMU_DisableMMU();
MMU_InvalidateTLB();

MMU_SetMTT(0x00000000,0x03f00000,0x30000000,RW_CB);//bank0__ENTRY的地址就是0x30000000
MMU_SetMTT(0x04000000,0x07f00000,0,RW_NCNB);//bank0
MMU_SetMTT(0x08000000,0x0ff00000,0x08000000,RW_CNB);//bank1
MMU_SetMTT(0x10000000,0x17f00000,0x10000000,RW_NCNB);//bank2
MMU_SetMTT(0x18000000,0x1ff00000,0x18000000,RW_NCNB);//bank3
//MMU_SetMTT(0x20000000,0x27f00000,0x20000000,RW_CB);//bank4
MMU_SetMTT(0x20000000,0x27f00000,0x20000000,RW_CNB);//bank4forSTRATAFlash
MMU_SetMTT(0x28000000,0x2ff00000,0x28000000,RW_NCNB);//bank5
//30f00000->30100000,31000000->30200000
MMU_SetMTT(0x30000000,0x30100000,0x30000000,RW_CB);//bank6-1
MMU_SetMTT(0x30200000,0x33e00000,0x30200000,RW_NCNB);//bank6-2
//
MMU_SetMTT(0x33f00000,0x33f00000,0x33f00000,RW_CB);//bank6-3
MMU_SetMTT(0x38000000,0x3ff00000,0x38000000,RW_NCNB);//bank7

MMU_SetMTT(0x40000000,0x47f00000,0x40000000,RW_NCNB);//SFR
MMU_SetMTT(0x48000000,0x5af00000,0x48000000,RW_NCNB);//SFR
MMU_SetMTT(0x5b000000,0x5b000000,0x5b000000,RW_NCNB);//SFR
MMU_SetMTT(0x5b100000,0xfff00000,0x5b100000,RW_FAULT);//notused


MMU_SetTTBase(_MMUTT_STARTADDRESS);//寫轉(zhuǎn)換表基地址到C2
MMU_SetDomain(0x55555550|DOMAIN1_ATTR|DOMAIN0_ATTR);//寫域訪問控制位到C3
//DOMAIN1:no_access,DOMAIN0,2~15=client(APischecked)
MMU_SetProcessId(0x0);
MMU_EnableAlignFault();

MMU_EnableMMU();//使能MMU
MMU_EnableICache();//使能ICache
MMU_EnableDCache();//DCache必須要打開,當(dāng)MMU打開時(shí).DCacheshouldbeturnedonafterMMUisturnedon.

}

//vaddrStart:虛擬起始地址
//vaddrEnd:虛擬結(jié)束地址
//paddrStart:物理起始地址
//attr:訪問屬性
voidMMU_SetMTT(intvaddrStart,intvaddrEnd,intpaddrStart,intattr)
{
volatileunsignedint*pTT;//定義了頁(yè)表的指針
volatileinti,nSec;
pTT=(unsignedint*)_MMUTT_STARTADDRESS+(vaddrStart>>20);//由于內(nèi)存塊是1M的,寫頁(yè)表的基地址
nSec=(vaddrEnd>>20)-(vaddrStart>>20);//計(jì)數(shù)有多少個(gè)段(每個(gè)段為1M)
for(i=0;i<=nSec;i++)
*pTT++=attr|(((paddrStart>>20)+i)<<20);
//頁(yè)表存儲(chǔ)訪問信息和存儲(chǔ)塊的基地址
//(((paddrStart>>20)+i)<<20):對(duì)應(yīng)的物理內(nèi)存頁(yè)的地址
//attr:訪問權(quán)限和緩沖屬性
}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉