利用彩屏顯示圖片需要先完成彩屏的驅(qū)動程序,然后在驅(qū)動程序的基礎(chǔ)上再編寫應用程序。
彩屏的驅(qū)動程序如果寫好的話,就可以一直使用了,精力主要集中在應用程序的編寫就可以了,但是移植的話,要移植驅(qū)動程序。其實移植也只是改變那些很底層的靠近處理器的那部分代碼。
因為STM32F103C8的片上只有64K的FLASH,所以不能存儲太多的圖片數(shù)據(jù),也就不能顯示太大的圖片。
一下的程序注釋的比較詳細,看懂了基本上就可以用了。
彩屏驅(qū)動程序的頭文件lcd.h如下:
#define uchar unsigned char
#define uint unsigned int
#define Bus_16 //16位數(shù)據(jù)模式,如果使用8位模式,請注釋此語句,如果使用16位模式,請打開此句
#define LCD_DataPortH P1 //高8位數(shù)據(jù)口,8位模式下只使用高8位
#define LCD_DataPortL P0 //低8位數(shù)據(jù)口 ,8位模式下低8位可以不接線
#define LCD_WR GPIO_Pin_2 //WR 引腳定義 P2^5
#define LCD_RS GPIO_Pin_1 //RS 引腳定義 P2^6
#define LCD_CS GPIO_Pin_0 //CS 引腳定義 P2^7
#define LCD_RST GPIO_Pin_11 //RST 引腳定義 P3^3
#define LCD_RD GPIO_Pin_8 //RD 引腳定義 P3^2
#define LCD_SIZE_X 240
#define LCD_SIZE_Y 320
extern uint colors[];
extern void pic_play(uint xStart, uint xEnd, uint yStart, uint yEnd); //顯示圖片函數(shù)
void delayms(int count) ;
//void LCD_Writ_Bus(char VH,char VL);
void LCD_Init(void);
void LCD_Writ_Bus( uint VH, uint VL);
void LCD_Write_COM(char VH,char VL);
void LCD_Write_DATA(char VH,char VL);
void Pant(char VH,char VL);
void Address_set(unsigned int x1,unsigned int y1,unsigned int x2,unsigned int y2);
驅(qū)動程序lcd.c文件如下:
#include "stm32f10x_lib.h"
#include "Lcd.h"
//存儲圖片數(shù)據(jù)的頭文件
//#include "picture.h"
#include "picture_sara.h"
#include "xiaoqian.h"
#include "yang.h"
#define LCD_rest(x) x ? GPIO_SetBits(GPIOA, LCD_RST): GPIO_ResetBits(GPIOA, LCD_RST) //自己定義位操作函數(shù)
#define LCD_rd(x) x ? GPIO_SetBits(GPIOA, LCD_RD) : GPIO_ResetBits(GPIOA, LCD_RD)
#define LCD_rs(x) x ? GPIO_SetBits(GPIOB, LCD_RS) : GPIO_ResetBits(GPIOB, LCD_RS)
#define LCD_wr(x) x ? GPIO_SetBits(GPIOB, LCD_WR) : GPIO_ResetBits(GPIOB, LCD_WR)
#define LCD_cs(x) x ? GPIO_SetBits(GPIOB, LCD_CS) : GPIO_ResetBits(GPIOB, LCD_CS)
uint colors[]=
{
0xf800,0x07e0,0x001f,0xffe0,0x0000,0x07ff,0xf81f,0xffff //顏色數(shù)據(jù)
};
void LCD_Init(void) //初始化LCD
{
LCD_rest(1);
delayms(5);
LCD_rest(0);
delayms(5);
LCD_rest(1);
delayms(5);
LCD_cs(0); //打開片選使能
//
LCD_Write_COM(0x00,0xE5); LCD_Write_DATA(0x78,0xF0); // set SRAM internal timing
LCD_Write_COM(0x00,0x01); LCD_Write_DATA(0x01,0x00); // set SS and SM bit
LCD_Write_COM(0x00,0x02); LCD_Write_DATA(0x07,0x00); // set 1 line inversion
LCD_Write_COM(0x00,0x03); LCD_Write_DATA(0x10,0x30); // set GRAM write direction and BGR=1.
LCD_Write_COM(0x00,0x04); LCD_Write_DATA(0x00,0x00); // Resize register
LCD_Write_COM(0x00,0x08); LCD_Write_DATA(0x02,0x07); // set the back porch and front porch
LCD_Write_COM(0x00,0x09); LCD_Write_DATA(0x00,0x00); // set non-display area refresh cycle ISC[3:0]
LCD_Write_COM(0x00,0x0A); LCD_Write_DATA(0x00,0x00); // FMARK function
LCD_Write_COM(0x00,0x0C); LCD_Write_DATA(0x00,0x00); // RGB interface setting
LCD_Write_COM(0x00,0x0D); LCD_Write_DATA(0x00,0x00); // Frame marker Position
LCD_Write_COM(0x00,0x0F); LCD_Write_DATA(0x00,0x00); // RGB interface polarity
//
LCD_Write_COM(0x00,0x10); LCD_Write_DATA(0x00,0x00); // SAP, BT[3:0], AP, DSTB, SLP, STB
LCD_Write_COM(0x00,0x11); LCD_Write_DATA(0x00,0x07); // DC1[2:0], DC0[2:0], VC[2:0]
LCD_Write_COM(0x00,0x12); LCD_Write_DATA(0x00,0x00); // VREG1OUT voltage
LCD_Write_COM(0x00,0x13); LCD_Write_DATA(0x00,0x00); // VDV[4:0] for VCOM amplitude
LCD_Write_COM(0x00,0x07); LCD_Write_DATA(0x00,0x01);
delayms(50); // Dis-charge capacitor power voltage
LCD_Write_COM(0x00,0x10); LCD_Write_DATA(0x10,0x90); // 1490//SAP, BT[3:0], AP, DSTB, SLP, STB
LCD_Write_COM(0x00,0x11); LCD_Write_DATA(0x02,0x27); // DC1[2:0], DC0[2:0], VC[2:0]
delayms(50); // Delay 50ms
LCD_Write_COM(0x00,0x12); LCD_Write_DATA(0x00,0x1F); //001C// Internal reference voltage= Vci;
delayms(50); // Delay 50ms
LCD_Write_COM(0x00,0x13); LCD_Write_DATA(0x15,0x00); //0x1000//1400 Set VDV[4:0] for VCOM amplitude 1A00
LCD_Write_COM(0x00,0x29); LCD_Write_DATA(0x00,0x27); //0x0012 //001a Set VCM[5:0] for VCOMH //0x0025 0034
LCD_Write_COM(0x00,0x2B); LCD_Write_DATA(0x00,0x0D); // Set Frame Rate 000C
delayms(50); // Delay 50ms
LCD_Write_COM(0x00,0x20); LCD_Write_DATA(0x00,0x00); // GRAM horizontal Address
LCD_Write_COM(0x00,0x21); LCD_Write_DATA(0x00,0x00); // GRAM Vertical Address
// ----------- Adjust the Gamma Curve ----------//
LCD_Write_COM(0x00,0x30); LCD_Write_DATA(0x00,0x00);
LCD_Write_COM(0x00,0x31); LCD_Write_DATA(0x07,0x07);
LCD_Write_COM(0x00,0x32); LCD_Write_DATA(0x03,0x07);
LCD_Write_COM(0x00,0x35); LCD_Write_DATA(0x02,0x00);
LCD_Write_COM(0x00,0x36); LCD_Write_DATA(0x00,0x08);//0207
LCD_Write_COM(0x00,0x37); LCD_Write_DATA(0x00,0x04);//0306
LCD_Write_COM(0x00,0x38); LCD_Write_DATA(0x00,0x00);//0102
LCD_Write_COM(0x00,0x39); LCD_Write_DATA(0x07,0x07);//0707
LCD_Write_COM(0x00,0x3C); LCD_Write_DATA(0x00,0x02);//0702
LCD_Write_COM(0x00,0x3D); LCD_Write_DATA(0x1D,0x04);//1604
//------------------ Set GRAM area ---------------//
LCD_Write_COM(0x00,0x50); LCD_Write_DATA(0x00,0x00); // Horizontal GRAM Start Address
LCD_Write_COM(0x00,0x51); LCD_Write_DATA(0x00,0xEF); // Horizontal GRAM End Address
LCD_Write_COM(0x00,0x52); LCD_Write_DATA(0x00,0x00); // Vertical GRAM Start Address
LCD_Write_COM(0x00,0x53); LCD_Write_DATA(0x01,0x3F); // Vertical GRAM Start Address
LCD_Write_COM(0x00,0x60); LCD_Write_DATA(0xA7,0x00); // Gate Scan Line
LCD_Write_COM(0x00,0x61); LCD_Write_DATA(0x00,0x01); // NDL,VLE, REV
LCD_Write_COM(0x00,0x6A); LCD_Write_DATA(0x00,0x00); // set scrolling line
//-------------- Partial Display Control ---------//
LCD_Write_COM(0x00,0x80); LCD_Write_DATA(0x00,0x00);
LCD_Write_COM(0x00,0x81); LCD_Write_DATA(0x00,0x00);
LCD_Write_COM(0x00,0x82); LCD_Write_DATA(0x00,0x00);
LCD_Write_COM(0x00,0x83); LCD_Write_DATA(0x00,0x00);
LCD_Write_COM(0x00,0x84); LCD_Write_DATA(0x00,0x00);
LCD_Write_COM(0x00,0x85); LCD_Write_DATA(0x00,0x00);
//-------------- Panel Control -------------------//
LCD_Write_COM(0x00,0x90); LCD_Write_DATA(0x00,0x10);
LCD_Write_COM(0x00,0x92); LCD_Write_DATA(0x06,0x00);
LCD_Write_COM(0x00,0x07); LCD_Write_DATA(0x01,0x33); // 262K color and display ON
LCD_cs(1); //關(guān)閉片選使能
}
void delayms(int count) //
{
int i,j;
for(i=0;i for(j=0;j<100;j++); } #ifdef Bus_16 //條件編譯-16位數(shù)據(jù)模式 void LCD_Writ_Bus(uint VH , uint VL) //并行數(shù)據(jù)寫入函數(shù) { //LCD_DataPortH=VH; //高位P1口 //屏蔽高8位 將數(shù)據(jù)送到PA0-PA7 GPIOA->BSRR = VH & 0x00ff; GPIOA->BRR = (~VH) & 0x00ff; //GPIO_SetBits(GPIOA, VH & 0x00ff); //GPIO_ResetBits(GPIOA, (~ VH & 0x00ff)); //LCD_DataPortL=VL; //低位P0口 //屏蔽低8位 將數(shù)據(jù)送到PB8-PB15 GPIOB->BSRR = (VL)<<8 & 0xff00; GPIOB->BRR = ((~VL)<<8) & 0xff00; LCD_wr(0); LCD_wr(1); } #else //條件編譯-8位數(shù)據(jù)模式 void LCD_Writ_Bus(char VH,char VL) //并行數(shù)據(jù)寫入函數(shù) { //LCD_DataPortH=VH; //八位模式都用P0口送數(shù)據(jù) //LCD_wr(0); //LCD_wr(1); //LCD_DataPortH=VL; //八位模式都用P0口送數(shù)據(jù) //LCD_wr(0); //LCD_wr(1); } #endif void LCD_Write_COM(char VH,char VL) //發(fā)送命令 { LCD_rs(0); LCD_Writ_Bus(VH,VL); } void LCD_Write_DATA(char VH,char VL) //發(fā)送數(shù)據(jù) { LCD_rs(1); LCD_Writ_Bus(VH,VL); } void Pant(char VH,char VL) //涂滿全屏函數(shù) { int i,j; LCD_cs(0); //打開片選使能 Address_set(0,0,239,319); for(i=0;i<320;i++) { for (j=0;j<240;j++) { LCD_Write_DATA(VH,VL); } } LCD_cs(1); //關(guān)閉片選使能 } void Address_set(unsigned int x1,unsigned int y1,unsigned int x2,unsigned int y2) //設(shè)置地址范圍函數(shù) { LCD_Write_COM(0x00,0x20);LCD_Write_DATA(x1>>8,x1); //設(shè)置X坐標位置 LCD_Write_COM(0x00,0x21);LCD_Write_DATA(y1>>8,y1); //設(shè)置Y坐標位置 LCD_Write_COM(0x00,0x50);LCD_Write_DATA(x1>>8,x1); //開始X LCD_Write_COM(0x00,0x52);LCD_Write_DATA(y1>>8,y1); //開始Y LCD_Write_COM(0x00,0x51);LCD_Write_DATA(x2>>8,x2); //結(jié)束X LCD_Write_COM(0x00,0x53);LCD_Write_DATA(y2>>8,y2); //結(jié)束Y LCD_Write_COM(0x00,0x22); } void pic_play(uint Start_X, uint End_X,uint Start_Y,uint End_Y) { uint m; //LCD_CS = 0; GPIO_ResetBits(GPIOB,LCD_CS); //打開片選 Address_set(Start_X,Start_Y,End_X,End_Y) ; //指定圖片顯示的范圍 // LCD_RS = 1; GPIO_SetBits(GPIOB, LCD_RS); //關(guān)閉片選 //循環(huán)把圖片的所有數(shù)據(jù)依次寫入 Address_set(0,0,141,79); //用彩屏顯示圖片時,一定要注意圖片長寬比例,如果長寬比例不對的話,顯示的圖片就會變形 //例如本幅圖片取模軟件輸出的長寬為(177,100),所以在這里圖片的顯示范圍必須設(shè)為(0,0,176,99),即x范圍為0~176,y的范圍為 //0~99.這樣圖片才能正常顯示,否則圖片就會變形。 for(m=0;m<22728/2;m++) //這里的35400這個數(shù)字指定顯示圖片的范圍,因為該圖的數(shù)據(jù)總共只有35400個,所以這里指定 //整幅圖都顯示出來。如果這個數(shù)比35400小,則只顯示該圖的一部分。 { LCD_Write_DATA(gImage_sara[m*2+1],gImage_sara[m*2]); } Address_set(0,90,65,189); //一定要注意保持比例 for(m=0;m<13200/2;m++) { LCD_Write_DATA(gImage_xiaoqian[m*2+1],gImage_xiaoqian[m*2]); } Address_set(75,90,137,189); //一定要注意保持比例 for(m=0;m<12600/2;m++) { LCD_Write_DATA(gImage_yang[m*2+1],gImage_yang[m*2]); } //LCD_CS = 1; GPIO_SetBits(GPIOB, LCD_CS); //關(guān)閉片選 } 主程序main.c 在主程序中完成對系統(tǒng)的初始化配置,利用彩屏的驅(qū)動程序完成圖片的顯示等功能,程序如下: #include "stm32f10x_lib.h" #include "lcd.h" GPIO_InitTypeDef GPIO_InitStructure; //定義GPIO初始化的結(jié)構(gòu)體變量
上一篇:STM32F10x芯片GPIO/AFIO端口配置總結(jié)
下一篇:STM32實現(xiàn)DAC輸出的相關(guān)設(shè)置
推薦閱讀
史海拾趣
當涉及到采用算術(shù)邏輯單元(ALU, Arithmetic Logic Unit)組成的二進制加減電路時,網(wǎng)友們可能會提出多種問題,這里列舉一些常見問題及其解答:
1. ALU 如何實現(xiàn)二進制加法?
回答:
在二進制加法中,ALU 使用全加器(Full Adder)或一系列的全加器(對于多位二進制數(shù))來實現(xiàn)。每個全加器接受三個輸入:兩個加數(shù)位(A 和 B)以及一個來自低位的進位(Cin)。它產(chǎn)生兩個輸出:一個和位(Sum)和一個向高位的進位(Cout)。通過級聯(lián)多個全加器,可以完成多位二進制數(shù)的加法。
2. ALU 如何實現(xiàn)二進制減法?
回答:
二進制減法可以通過加法來實現(xiàn),利用“補碼”的概念。具體地,將減數(shù)取反加一(即求其二進制補碼),然后將該補碼與被減數(shù)相加。結(jié)果的正負由最高位(符號位)決定,其余位表示數(shù)值大小。ALU 內(nèi)部可以包含專門的電路來處理這種補碼加法,從而間接實現(xiàn)減法。
3. ALU 如何處理進位和借位?
回答:
在加法中,進位(Carry)是從低位向高位傳遞的,每個全加器都會輸出一個進位信號給下一個高位的全加器。在減法(通過補碼加法實現(xiàn))中,由于使用了加法器,進位的概念仍然適用,但在某些情況下,它可能被視為“借位”的相反操作,尤其是在直觀理解減法過程時。不過,從電路設(shè)計的角度來看,ALU 內(nèi)部處理的是加法操作,包括進位。
4. ALU 如何支持更復雜的算術(shù)運算,如乘法和除法?
回答:
ALU 通常支持基本的算術(shù)運算(加、減)和邏輯運算。對于乘法和除法,ALU 可能不支持直接計算,或者僅支持部分乘法和除法的簡化版本(如移位操作,可以視為乘以2的冪或除以2的冪的簡化形式)。復雜的乘法和除法運算通常需要額外的硬件單元(如乘法器和除法器)來執(zhí)行,這些單元可能作為ALU的補充或與之并行工作。
5. ALU 的設(shè)計如何影響計算機的性能?
回答:
ALU 的設(shè)計對計算機的性能有直接影響。更快的ALU 能夠更快地完成算術(shù)和邏輯運算,從而提高整個計算機的處理速度。此外,ALU 的指令集和設(shè)計的靈活性也會影響其能夠執(zhí)行的操作種類和效率。現(xiàn)代CPU中的ALU通常非常高效且靈活,能夠執(zhí)行多種復雜的算術(shù)和邏輯操作,以滿足現(xiàn)代應用程序的需求。
公司成立與早期發(fā)展:AMD(Advanced Micro Devices)公司成立于1969年,由Jerry Sanders在美國加利福尼亞州圣克拉拉創(chuàng)立。最初,AMD致力于生產(chǎn)挑戰(zhàn)Intel在x86處理器市場的產(chǎn)品,但起初面臨著市場份額不足和技術(shù)挑戰(zhàn)等問題。然而,隨著時間的推移,AMD逐漸在市場上獲得了一席之地,并推出了一系列創(chuàng)新產(chǎn)品。
x86處理器市場競爭:AMD在x86處理器市場與Intel展開了激烈的競爭。1991年,AMD推出了第一款x86兼容處理器386DX-40,開始了與Intel的競爭。此后,AMD不斷推出更快、更強大的處理器,如K6系列、Athlon系列等,一度取得了一定的市場份額。
ATI收購與圖形處理器發(fā)展:為了拓展業(yè)務,AMD于2006年收購了圖形處理器制造商ATI Technologies。這一收購使AMD進入了圖形處理器市場,并推出了一系列創(chuàng)新的圖形處理器產(chǎn)品,如Radeon系列。AMD通過不斷推出高性能、高度集成的圖形處理器,贏得了廣大用戶的青睞。
全球Foundry戰(zhàn)略:為了降低制造成本并提高生產(chǎn)效率,AMD實施了全球Foundry戰(zhàn)略。2008年,AMD成立了GlobalFoundries,將自己的制造業(yè)務轉(zhuǎn)移給這家獨立的半導體制造公司。這一舉措使AMD得以專注于設(shè)計和研發(fā),提升了公司的競爭力。
技術(shù)創(chuàng)新與新市場拓展:除了在x86處理器和圖形處理器市場取得成功外,AMD還不斷進行技術(shù)創(chuàng)新,拓展新的市場。例如,AMD在數(shù)據(jù)中心領(lǐng)域推出了EPYC系列服務器處理器,致力于滿足云計算和大數(shù)據(jù)處理的需求。此外,AMD還在游戲主機市場與Sony和Microsoft等公司合作,提供高性能的處理器和圖形處理器。
這些故事展示了AMD在其創(chuàng)立以來的發(fā)展歷程,包括在x86處理器市場的競爭、圖形處理器領(lǐng)域的擴展、全球Foundry戰(zhàn)略的實施以及在新興市場的技術(shù)創(chuàng)新和市場拓展等方面取得的成就。
大連達利凱普科技股份公司自成立以來,始終堅持自主創(chuàng)新和技術(shù)研發(fā)。公司擁有一支專業(yè)的研發(fā)團隊,致力于射頻微波磁介電容器(射頻微波MLCC)的研發(fā)和生產(chǎn)。通過不懈努力,公司成功掌握了射頻微波MLCC的關(guān)鍵核心技術(shù),并獲得了全部自主知識產(chǎn)權(quán)。這一技術(shù)突破不僅使達利凱普在行業(yè)內(nèi)樹立了技術(shù)領(lǐng)先地位,也為公司贏得了廣泛的市場認可。
背景:隨著全球經(jīng)濟的一體化和電子信息產(chǎn)業(yè)的快速發(fā)展,Hantronix意識到市場拓展的重要性。公司開始積極尋求國際合作機會,拓展其全球業(yè)務版圖。
發(fā)展:Hantronix通過參加國際展會、建立海外銷售網(wǎng)絡(luò)等方式,成功將產(chǎn)品推向全球市場。其高品質(zhì)的產(chǎn)品和優(yōu)質(zhì)的服務贏得了眾多國際客戶的信賴和好評。同時,公司還加強了與國際知名企業(yè)的合作,共同推動電子顯示技術(shù)的進步和應用。
隨著業(yè)務的不斷拓展,固得沃克意識到技術(shù)升級和產(chǎn)能擴張的重要性。2019年,公司在江蘇鹽城成立了江蘇固得沃克微電子科技有限公司,作為新的生產(chǎn)基地。該基地擁有2萬平米的廠房,引進了具有國際水準的專業(yè)生產(chǎn)設(shè)備及先進檢測儀器,并通過了ISO9001、ISO14001等國際管理體系認證。這一舉措不僅提升了公司的生產(chǎn)能力和產(chǎn)品質(zhì)量,還進一步鞏固了其在半導體行業(yè)的地位。
一、查看系統(tǒng)版本信息的命令 幾種查看Linux版本信息的方法: 1. uname -a 2. cat /proc/version 3. cat /etc/issue 4. lsb_release -a 詳解 lsb_release -a 登錄到服務器執(zhí)行 lsb_release -a ,即可列出 ...… 查看全部問答∨ |
有一段連續(xù)的模擬信號從AD輸入,我用單片機采樣256個數(shù)據(jù)做FFT變換, 有幾個問題不明白請執(zhí)教: 1。 假如這256個數(shù)據(jù)做完FFT,是不是又要重新采集新的256個數(shù)據(jù)才能做FFT, 還是只要再采集一個數(shù)據(jù),然后跟前面的255個數(shù)據(jù)組成一段數(shù)據(jù)來 ...… 查看全部問答∨ |
我是用的1602lcd液晶顯示器,想用mega16單片機的porta端口輸出,不知道該怎樣設(shè)置, DB4~DB9 -------PA4~PA7 RS -------PA3 EN -------PA2 請高手幫助。… 查看全部問答∨ |
|
各位大蝦,我現(xiàn)在有一個driver的source code,這個driver有提供IIC 和GPIO,我要根據(jù)這個Driver source code編寫一個SDK(比如寫成COM組件或者一個DLL),提供客戶使用,通過這個SDK,客戶可以通調(diào)用其中的IIC interface 或者GPIO的interface來控制 ...… 查看全部問答∨ |
寫低功耗測試程序時,遇到下面的問題,不得其解。希望有高手解答。 截圖是程序調(diào)試時的圖 我在進入低功耗模式后的語句加上斷點,然后全速運行,程序是不會到達斷點處的。 但是我一按暫停運行按鈕,就會運行到斷點處,然后執(zhí)行。請問這是什么原因 ...… 查看全部問答∨ |
設(shè)計資源 培訓 開發(fā)板 精華推薦
- 全主動懸架國產(chǎn)化落地,未來也能“人人買得起”?
- 第三方激光雷達ASIC方案,能改變行業(yè)格局嗎?
- 為何端到端成為各車企智駕布局的首要選擇?
- 智能網(wǎng)聯(lián)汽車組合駕駛輔助系統(tǒng)安全要求立項制定,東風、華為等參與起草
- 從高精地圖到VLA,一場技術(shù)路線的競速
- 韓國團隊開發(fā)自動駕駛軟件 透明障礙物識別準確率達96%
- OpenGMSL?聯(lián)盟宣告成立 推動未來車載連接技術(shù)變革
- 高通完成對V2X芯片企業(yè)Autotalks收購,強化車聯(lián)網(wǎng)通信
- “磷酸鐵鋰需求激增,寧德時代等電池巨頭鎖定未來五年大單”
- 面壁智能端側(cè)大模型首日上線,英特爾工程師聯(lián)合優(yōu)化實現(xiàn)2.2倍推理效率躍升
- 看是德科技利用校準降低儀器測量不確定度、提高測試精度 直播享好禮!
- 直播已結(jié)束|安世新一代高效的氮化鎵(GaN)電源設(shè)計方案
- 更好的供電方式:使用更小、更輕的電源模塊加速車輛電氣化
- 是德科技(Keysight)有獎征文,下筆贏示波器啦!
- 有獎問答 英飛凌一站式BMS解決方案
- 恩智浦LPC1500開發(fā)體驗有獎征集
- NXP微控制器電路板,針對USB Type C接口設(shè)計,評測創(chuàng)意有獎征集,曬心得更有多重好禮!
- 安森美有獎直播|適用于光儲充的SiC及IGBT隔離柵極驅(qū)動器方案
- ADI電磁流量計解決方案
- 下載有禮|ADI 最新《模擬對話》合訂本