資料介紹
作為一個電子硬件工程師,怎么不能懂DSP,或者我們中有一些同學對DSP的理解還不是很多,今天就讓我們給大家介紹一個DSP的入門芯片,來自TI的TMS320F28335。相信看過了這一系列的內容,大家會對DSP有初步的了解。
TMS320F28335簡介:
TMS320F28335采用176引腳LQFP四邊形封裝,其功能結構參見參考文獻。其主要性能如下:
高性能的靜態CMOS技術,指令周期為6.67 ns,主頻達150 MHz;
高性能的32位CPU,單精度浮點運算單元(FPU),采用哈佛流水線結構,能夠快速執行中斷響應,并具有統一的內存管理模式,可用C/C++語言實現復雜的數學算法;
6通道的DMA控制器;
片上256 Kxl6的Flash存儲器,34 Kxl6的SARAM存儲器.1 Kx16 OTPROM和8 Kxl6的Boot ROM。其中Flash,OTPROM,16 Kxl6的SARAM均受密碼保護;
控制時鐘系統具有片上振蕩器,看門狗模塊,支持動態PLL調節,內部可編程鎖相環,通過軟件設置相應寄存器的值改變CPU的輸入時鐘頻率;
8個外部中斷,相對TMS320F281X系列的DSP,無專門的中斷引腳。GPI00~GPI063連接到該中斷。GPI00一GPI031連接到XINTl,XINT2及XNMI外部中斷,GPl032~GPI063連接到XINT3一XINT7外部中斷;
支持58個外設中斷的外設中斷擴展控制器(PIE),管理片上外設和外部引腳引起的中斷請求;
增強型的外設模塊:18個PWM輸出,包含6個高分辨率脈寬調制模塊(HRPWM)、6個事件捕獲輸入,2通道的正交調制模塊(QEP);
3個32位的定時器,定時器0和定時器1用作一般的定時器,定時器0接到PIE模塊,定時器1接到中斷INTl3;定時器2用于DSP/BIOS的片上實時系統,連接到中斷INTl4,如果系統不使用DSP/BIOS,定時器2可用于一般定時器;
串行外設為2通道CAN模塊、3通道SCI模塊、2個McBSP(多通道緩沖串行接口)模塊、1個SPI模塊、1個I2C主從兼容的串行總線接口模塊;
12位的A/D轉換器具有16個轉換通道、2個采樣保持器、內外部參考電壓,轉換速度為80 ns,同時支持多通道轉換;
88個可編程的復用GPIO引腳;
低功耗模式;
1.9 V內核,3.3 V I/O供電;
符合IEEEll49.1標準的片內掃描仿真接口(JTAG);TMS320F28335的存儲器映射需注意以下幾點:
片上外設寄存器塊0~3只能用于數據存儲區,用戶不能在該存儲區內寫入程序。
OTP ROM區(0x38 0000~0x38 03FF)為只讀空間,存儲A/D轉換器的校準程序,用戶不能對此空間寫入程序。
即使不應用eCAN模塊,也應使能時鐘模塊,將為eCAN分配的RAM空間用作一般RAM。
如果設置安全代碼,存儲器區域Ox33FF80~0x33FFF5需全部寫入數據0x0000,而不能用于存儲程序或數據。反之,0x33FF80~Ox33FEF可以存儲數據或程序,其中0x33FFF0~Ox33FFF5只能存儲數據。
仿真工具和開發環境:
TMS320F28335開發工具有:標準的優化C/C++編譯/匯編/連接器,CCS集成開發環境,評估板和XDS510仿真器。其中CCS是一個界面友好,功能完善的集成的開發平臺,具有編輯、匯編、編譯、軟硬件仿真調試功能。
TMS320F28335 的ADC:
TMS320F28335上有16通道、12位的模數轉換器ADC。他可以被配置為兩個獨立的8通道輸入模式,也可以通過配置AdcRegs.ADCTRL1.bit.SEQ_CASC=1,將其設置為一個16通道的級聯輸入模式。輸入的方式可以通過配置 AdcRegs.ADCTRL1.bit.ACQ_PS=1,將其設置為順序采集。即從低通道開始到高通道結束。 值得注意的是片上ADC的輸入電壓范圍為0--3V,一旦超過3V,片上的ADC模塊將會被燒掉。TI上的DATASHEET介紹其ADC的精度可達到12位,實際上達到不了。經測試,我們估計最好的時候可以達到11位就不錯了。下面我們來簡單介紹一下ADC模塊的原理。其數字值由下面公司來計算,其中公式中的3為片內參考電壓Digital Value=4096*(Input Analog Voltage-ADCLO)/3 ;(when 0 V 《 input 《 3 V)。ADC可以分為SEQ1和SEQ2兩個模塊,其中SEQ1包括ADCIN00--ADCIN07;SEQ2包括ADCIN08--ADCIN15。SEQ1模塊可以通過軟件、PWM、外部中斷引腳來啟動,而SEQ2不可以通過外部中斷引腳來啟動。另外就是ADC可以與DMA進行數據交換。
TMS320F28335 的時鐘介紹:
TMS320F28335上有一個基于PLL電路的片上時鐘模塊,為CPU及外設提供時鐘有兩種方式:一種是用外部的時鐘源,將其連接到X1引腳上或者XCLKIN引腳上,X2接地;另一種是使用振蕩器產生時鐘,用30MHz的晶體和兩個20PF的電容組成的電路分別連接到X1和X2引腳上,XCLKIN引腳接地。我們常用第二種來產生時鐘。此時鐘將通過一個內部PLL鎖相環電路,進行倍頻。由于F28335的最大工作頻率是150M,所以倍頻值最大是5。其中倍頻值由PLLCR的低四位和PLLSTS的第7、8位來決定。其詳細的倍頻值可以參照TMS320F28335的Datasheet。下面是F28335的時鐘設置:
void InitPll(Uint16 val, Uint16 divsel)
{
// Make sure the PLL is not running in limp mode
if (SysCtrlRegs.PLLSTS.bit.MCLKSTS != 0)
{
// Missing external clock has been detected
// Replace this line with a call to an appropriate
// SystemShutdown(); function.
asm(“ ESTOP0”);
}
// DIVSEL MUST be 0 before PLLCR can be changed from
// 0x0000. It is set to 0 by an external reset XRSn
// This puts us in 1/4
if (SysCtrlRegs.PLLSTS.bit.DIVSEL != 0)
{
EALLOW;
SysCtrlRegs.PLLSTS.bit.DIVSEL = 0;
EDIS;
}
// Change the PLLCR
if (SysCtrlRegs.PLLCR.bit.DIV != val)
{
EALLOW;
// Before setting PLLCR turn off missing clock detect logic
SysCtrlRegs.PLLSTS.bit.MCLKOFF = 1;
SysCtrlRegs.PLLCR.bit.DIV = val;
EDIS;
// Optional: Wait for PLL to lock.
// During this time the CPU will switch to OSCCLK/2 until
// the PLL is stable. Once the PLL is stable the CPU will
// switch to the new PLL value.
//
// This time-to-lock is monitored by a PLL lock counter.
//
// Code is not required to sit and wait for the PLL to lock.
// However, if the code does anything that is timing critical,
// and requires the correct clock be locked, then it is best to
// wait until this switching has completed.
// Wait for the PLL lock bit to be set.
// The watchdog should be disabled before this loop, or fed within
// the loop via ServiceDog()。
// Uncomment to disable the watchdog
DisableDog();
while(SysCtrlRegs.PLLSTS.bit.PLLLOCKS != 1)
{
// Uncomment to service the watchdog
// ServiceDog();
}
EALLOW;
SysCtrlRegs.PLLSTS.bit.MCLKOFF = 0;
EDIS;
}
// If switching to 1/2
if((divsel == 1)||(divsel == 2))
{
EALLOW;
SysCtrlRegs.PLLSTS.bit.DIVSEL = divsel;
EDIS;
}
// If switching to 1/1
// * First go to 1/2 and let the power settle
// The time required will depend on the system, this is only an example
// * Then switch to 1/1
if(divsel == 3)
{
EALLOW;
SysCtrlRegs.PLLSTS.bit.DIVSEL = 2;
DELAY_US(50L);
SysCtrlRegs.PLLSTS.bit.DIVSEL = 3;
EDIS;
}
}
TMS320F28335 的外部中斷總結:
在這里我們要十分清楚DSP的中斷系統。C28XX一共有16個中斷源,其中有2個不可屏蔽的中斷RESET和NMI、定時器1和定時器2分別使用中斷13和14。這樣還有12個中斷都直接連接到外設中斷擴展模塊PIE上。說的簡單一點就是PIE通過12根線與28335核的12個中斷線相連。而PIE的另外一側有12*8根線分別連接到外設,如AD、SPI、EXINT等等。這樣PIE共管理12*8=96個外部中斷。這12組大中斷由28335核的中斷寄存器IER來控制,即IER確定每個中斷到底屬于哪一組大中斷(如IER |= M_INT12;說明我們要用第12組的中斷,但是第12組里面的什么中斷CPU并不知道需要再由PIEIER確定 )。接下來再由PIE模塊中的寄存器PIEIER中的低8確定該中斷是這一組的第幾個中斷,這些配置都要告訴CPU(我們不難想象到PIEIER共有12總即從PIEIER1-PIEIER12)。另外,PIE模塊還有中斷標志寄存器PIEIFR,同樣它的低8位是來自外部中斷的8個標志位,同樣CPU的IFR寄存器是中斷組的標志寄存器。由此看來,CPU的所有中斷寄存器控制12組的中斷,PIE的所有中斷寄存器控制每組內8個的中斷。除此之外,我們用到哪一個外部中斷,相應的還有外部中斷的寄存器,需要注意的就是外部中斷的標志要自己通過軟件來清零。而PIE和CPU的中斷標志寄存器由硬件來清零。
EALLOW; // This is needed to write to EALLOW protected registers
PieVectTable.XINT2 = &ISRExint; //告訴中斷入口地址
EDIS; // This is needed to disable write to EALLOW protected registers
PieCtrlRegs.PIECTRL.bit.ENPIE = 1; // Enable the PIE block使能PIE
PieCtrlRegs.PIEIER1.bit.INTx5= 1; //使能第一組中的中斷5
IER |= M_INT1; // Enable CPU 第一組中斷
EINT; // Enable Global interrupt INTM
ERTM; // Enable Global realtime interrupt DBGM
也就是說,12組中的每個中斷都要完成上面的相同配置,剩下的才是去配置自己的中斷。
TMS320F28335簡介:
TMS320F28335采用176引腳LQFP四邊形封裝,其功能結構參見參考文獻。其主要性能如下:
高性能的靜態CMOS技術,指令周期為6.67 ns,主頻達150 MHz;
高性能的32位CPU,單精度浮點運算單元(FPU),采用哈佛流水線結構,能夠快速執行中斷響應,并具有統一的內存管理模式,可用C/C++語言實現復雜的數學算法;
6通道的DMA控制器;
片上256 Kxl6的Flash存儲器,34 Kxl6的SARAM存儲器.1 Kx16 OTPROM和8 Kxl6的Boot ROM。其中Flash,OTPROM,16 Kxl6的SARAM均受密碼保護;
控制時鐘系統具有片上振蕩器,看門狗模塊,支持動態PLL調節,內部可編程鎖相環,通過軟件設置相應寄存器的值改變CPU的輸入時鐘頻率;
8個外部中斷,相對TMS320F281X系列的DSP,無專門的中斷引腳。GPI00~GPI063連接到該中斷。GPI00一GPI031連接到XINTl,XINT2及XNMI外部中斷,GPl032~GPI063連接到XINT3一XINT7外部中斷;
支持58個外設中斷的外設中斷擴展控制器(PIE),管理片上外設和外部引腳引起的中斷請求;
增強型的外設模塊:18個PWM輸出,包含6個高分辨率脈寬調制模塊(HRPWM)、6個事件捕獲輸入,2通道的正交調制模塊(QEP);
3個32位的定時器,定時器0和定時器1用作一般的定時器,定時器0接到PIE模塊,定時器1接到中斷INTl3;定時器2用于DSP/BIOS的片上實時系統,連接到中斷INTl4,如果系統不使用DSP/BIOS,定時器2可用于一般定時器;
串行外設為2通道CAN模塊、3通道SCI模塊、2個McBSP(多通道緩沖串行接口)模塊、1個SPI模塊、1個I2C主從兼容的串行總線接口模塊;
12位的A/D轉換器具有16個轉換通道、2個采樣保持器、內外部參考電壓,轉換速度為80 ns,同時支持多通道轉換;
88個可編程的復用GPIO引腳;
低功耗模式;
1.9 V內核,3.3 V I/O供電;
符合IEEEll49.1標準的片內掃描仿真接口(JTAG);TMS320F28335的存儲器映射需注意以下幾點:
片上外設寄存器塊0~3只能用于數據存儲區,用戶不能在該存儲區內寫入程序。
OTP ROM區(0x38 0000~0x38 03FF)為只讀空間,存儲A/D轉換器的校準程序,用戶不能對此空間寫入程序。
即使不應用eCAN模塊,也應使能時鐘模塊,將為eCAN分配的RAM空間用作一般RAM。
如果設置安全代碼,存儲器區域Ox33FF80~0x33FFF5需全部寫入數據0x0000,而不能用于存儲程序或數據。反之,0x33FF80~Ox33FEF可以存儲數據或程序,其中0x33FFF0~Ox33FFF5只能存儲數據。
仿真工具和開發環境:
TMS320F28335開發工具有:標準的優化C/C++編譯/匯編/連接器,CCS集成開發環境,評估板和XDS510仿真器。其中CCS是一個界面友好,功能完善的集成的開發平臺,具有編輯、匯編、編譯、軟硬件仿真調試功能。
TMS320F28335 的ADC:
TMS320F28335上有16通道、12位的模數轉換器ADC。他可以被配置為兩個獨立的8通道輸入模式,也可以通過配置AdcRegs.ADCTRL1.bit.SEQ_CASC=1,將其設置為一個16通道的級聯輸入模式。輸入的方式可以通過配置 AdcRegs.ADCTRL1.bit.ACQ_PS=1,將其設置為順序采集。即從低通道開始到高通道結束。 值得注意的是片上ADC的輸入電壓范圍為0--3V,一旦超過3V,片上的ADC模塊將會被燒掉。TI上的DATASHEET介紹其ADC的精度可達到12位,實際上達到不了。經測試,我們估計最好的時候可以達到11位就不錯了。下面我們來簡單介紹一下ADC模塊的原理。其數字值由下面公司來計算,其中公式中的3為片內參考電壓Digital Value=4096*(Input Analog Voltage-ADCLO)/3 ;(when 0 V 《 input 《 3 V)。ADC可以分為SEQ1和SEQ2兩個模塊,其中SEQ1包括ADCIN00--ADCIN07;SEQ2包括ADCIN08--ADCIN15。SEQ1模塊可以通過軟件、PWM、外部中斷引腳來啟動,而SEQ2不可以通過外部中斷引腳來啟動。另外就是ADC可以與DMA進行數據交換。
TMS320F28335 的時鐘介紹:
TMS320F28335上有一個基于PLL電路的片上時鐘模塊,為CPU及外設提供時鐘有兩種方式:一種是用外部的時鐘源,將其連接到X1引腳上或者XCLKIN引腳上,X2接地;另一種是使用振蕩器產生時鐘,用30MHz的晶體和兩個20PF的電容組成的電路分別連接到X1和X2引腳上,XCLKIN引腳接地。我們常用第二種來產生時鐘。此時鐘將通過一個內部PLL鎖相環電路,進行倍頻。由于F28335的最大工作頻率是150M,所以倍頻值最大是5。其中倍頻值由PLLCR的低四位和PLLSTS的第7、8位來決定。其詳細的倍頻值可以參照TMS320F28335的Datasheet。下面是F28335的時鐘設置:
void InitPll(Uint16 val, Uint16 divsel)
{
// Make sure the PLL is not running in limp mode
if (SysCtrlRegs.PLLSTS.bit.MCLKSTS != 0)
{
// Missing external clock has been detected
// Replace this line with a call to an appropriate
// SystemShutdown(); function.
asm(“ ESTOP0”);
}
// DIVSEL MUST be 0 before PLLCR can be changed from
// 0x0000. It is set to 0 by an external reset XRSn
// This puts us in 1/4
if (SysCtrlRegs.PLLSTS.bit.DIVSEL != 0)
{
EALLOW;
SysCtrlRegs.PLLSTS.bit.DIVSEL = 0;
EDIS;
}
// Change the PLLCR
if (SysCtrlRegs.PLLCR.bit.DIV != val)
{
EALLOW;
// Before setting PLLCR turn off missing clock detect logic
SysCtrlRegs.PLLSTS.bit.MCLKOFF = 1;
SysCtrlRegs.PLLCR.bit.DIV = val;
EDIS;
// Optional: Wait for PLL to lock.
// During this time the CPU will switch to OSCCLK/2 until
// the PLL is stable. Once the PLL is stable the CPU will
// switch to the new PLL value.
//
// This time-to-lock is monitored by a PLL lock counter.
//
// Code is not required to sit and wait for the PLL to lock.
// However, if the code does anything that is timing critical,
// and requires the correct clock be locked, then it is best to
// wait until this switching has completed.
// Wait for the PLL lock bit to be set.
// The watchdog should be disabled before this loop, or fed within
// the loop via ServiceDog()。
// Uncomment to disable the watchdog
DisableDog();
while(SysCtrlRegs.PLLSTS.bit.PLLLOCKS != 1)
{
// Uncomment to service the watchdog
// ServiceDog();
}
EALLOW;
SysCtrlRegs.PLLSTS.bit.MCLKOFF = 0;
EDIS;
}
// If switching to 1/2
if((divsel == 1)||(divsel == 2))
{
EALLOW;
SysCtrlRegs.PLLSTS.bit.DIVSEL = divsel;
EDIS;
}
// If switching to 1/1
// * First go to 1/2 and let the power settle
// The time required will depend on the system, this is only an example
// * Then switch to 1/1
if(divsel == 3)
{
EALLOW;
SysCtrlRegs.PLLSTS.bit.DIVSEL = 2;
DELAY_US(50L);
SysCtrlRegs.PLLSTS.bit.DIVSEL = 3;
EDIS;
}
}
TMS320F28335 的外部中斷總結:
在這里我們要十分清楚DSP的中斷系統。C28XX一共有16個中斷源,其中有2個不可屏蔽的中斷RESET和NMI、定時器1和定時器2分別使用中斷13和14。這樣還有12個中斷都直接連接到外設中斷擴展模塊PIE上。說的簡單一點就是PIE通過12根線與28335核的12個中斷線相連。而PIE的另外一側有12*8根線分別連接到外設,如AD、SPI、EXINT等等。這樣PIE共管理12*8=96個外部中斷。這12組大中斷由28335核的中斷寄存器IER來控制,即IER確定每個中斷到底屬于哪一組大中斷(如IER |= M_INT12;說明我們要用第12組的中斷,但是第12組里面的什么中斷CPU并不知道需要再由PIEIER確定 )。接下來再由PIE模塊中的寄存器PIEIER中的低8確定該中斷是這一組的第幾個中斷,這些配置都要告訴CPU(我們不難想象到PIEIER共有12總即從PIEIER1-PIEIER12)。另外,PIE模塊還有中斷標志寄存器PIEIFR,同樣它的低8位是來自外部中斷的8個標志位,同樣CPU的IFR寄存器是中斷組的標志寄存器。由此看來,CPU的所有中斷寄存器控制12組的中斷,PIE的所有中斷寄存器控制每組內8個的中斷。除此之外,我們用到哪一個外部中斷,相應的還有外部中斷的寄存器,需要注意的就是外部中斷的標志要自己通過軟件來清零。而PIE和CPU的中斷標志寄存器由硬件來清零。
EALLOW; // This is needed to write to EALLOW protected registers
PieVectTable.XINT2 = &ISRExint; //告訴中斷入口地址
EDIS; // This is needed to disable write to EALLOW protected registers
PieCtrlRegs.PIECTRL.bit.ENPIE = 1; // Enable the PIE block使能PIE
PieCtrlRegs.PIEIER1.bit.INTx5= 1; //使能第一組中的中斷5
IER |= M_INT1; // Enable CPU 第一組中斷
EINT; // Enable Global interrupt INTM
ERTM; // Enable Global realtime interrupt DBGM
也就是說,12組中的每個中斷都要完成上面的相同配置,剩下的才是去配置自己的中斷。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- tms320f28335資料手冊(中文版) 0次下載
- TMS320F28335寄存器手冊 131次下載
- 使用DSP芯片TMS320F28335和FPGA的電路原理圖免費下載 194次下載
- TMS320F28069和TMS320F28335的DSP處理器到底有什么區別 75次下載
- TMS320F28335 DSP處理器的電路原理圖 166次下載
- DSP處理器TMS320F28335詳細資料大全 51次下載
- TMS320F28335資料 84次下載
- tms320f28335(中文版) 0次下載
- dsp控制電機_tms320f28335的運行程序 49次下載
- TI官方的TMS320F28335參考設計的原理圖 156次下載
- tms320f28335主數據手冊(中文) 60次下載
- 基于TMS320F28335的SVPWM實現方法 73次下載
- tms320f28335的數據手冊 49次下載
- TMS320F28335及其應用設計介紹 216次下載
- TMS320F28335,TMS320F28334,TMS320F28332 Digital Signal Controllers (DSCs) 63次下載
- 基于TMS320F28335和STM32F103VET6芯片實現北斗定位系統的設計 6238次閱讀
- 基于TMS320F28335處理器實現驅動雙電動機同步控制系統的設計 5856次閱讀
- 廣州創龍電子嵌入式雙核實驗箱介紹 1820次閱讀
- 廣州創龍電子嵌入式C2000實驗箱簡介 1852次閱讀
- 基于TI TMS320C6748定點/浮點DSP C674x處理器 2986次閱讀
- 基于dsp風電場電能質量檢裝置 1180次閱讀
- TMS320C6748和TMS320C6747芯片對比 1.6w次閱讀
- dsp tms320c6000基本作用的認識 9580次閱讀
- TMS320F28335最小應用系統設計電路 1.6w次閱讀
- 基于FPGA、DSP的電能質量監測裝置設計 1242次閱讀
- dsp28335如何入門:程序設計步驟 1.9w次閱讀
- TMS320f28335控制AD7656的硬件電路設計 1.1w次閱讀
- 三大電機控制方案之DSP篇(1):TMS320F28335 5.5w次閱讀
- 帶你了解TI的DSP入門芯片TMS320F28335 3.8w次閱讀
- 基于DSP芯片TMS320LF2407的天然氣發動機控制系統 1478次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1489次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 91次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 3次下載 | 免費
- 8基于單片機的紅外風扇遙控
- 0.23 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30319次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多