娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年04月21日(星期一)

2021年04月21日 | IAR環(huán)境下STM32+IAP方案的實(shí)現(xiàn)

發(fā)布者:腦洞飛翔 來源: eefocus關(guān)鍵字:IAR環(huán)境  STM32  IAP方案 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

一、什么是IAP,為什么要IAP


IAP即為In Application Programming(在應(yīng)用中編程),一般情況下,以STM32F10x系列芯片為主控制器的設(shè)備在出廠時(shí)就已經(jīng)使用J-Link仿真器將應(yīng)用代碼燒錄了,如果在設(shè)備使用過程中需要進(jìn)行應(yīng)用代碼的更換、升級(jí)等操作的話,則可能需要將設(shè)備返回原廠并拆解出來再使用J-Link重新燒錄代碼,這就增加了很多不必要的麻煩。站在用戶的角度來說,就是能讓用戶自己來更換設(shè)備里邊的代碼程序而廠家這邊只需要提供給用戶一個(gè)代碼文件即可。


而IAP卻能很好的解決掉這個(gè)難題,一片STM32芯片的Code(代碼)區(qū)內(nèi)一般只有一個(gè)用戶程序。而IAP方案則是將代碼區(qū)劃分為兩部分,兩部分區(qū)域各存放一個(gè)程序,一個(gè)叫bootloader(引導(dǎo)加載程序),另一個(gè)較user application(用戶應(yīng)用程序)。bootloader在出廠時(shí)就固定下來了,在需要變更user application時(shí)只需要通過觸發(fā)bootloader對(duì)userapplication的擦除和重新寫入即可完成用戶應(yīng)用的更換。如圖1-1所示

圖 1-1


在程序執(zhí)行初始進(jìn)入bootloader,在bootloader里面檢測(cè)條件是否被觸發(fā)(可通過按鍵是否被按下、串口是否接收到特定的數(shù)據(jù)、U盤是否插入等等),如果有則進(jìn)行對(duì)user application進(jìn)行擦除和重新寫入操作,如果沒有則直接跳轉(zhuǎn)到user application執(zhí)行應(yīng)用;如果有則進(jìn)行擦除用戶代碼并重新寫入新的用戶代碼。


二、STM32F103ZET6硬件條件


STM32F103ZET6的啟動(dòng)方式有三種:內(nèi)置FLASH啟動(dòng)、內(nèi)置SRAM啟動(dòng)、系統(tǒng)存儲(chǔ)器ROM啟動(dòng),通過BOOT0和BOOT1引腳的設(shè)置可以選擇從哪中方式啟動(dòng),這里選擇內(nèi)置的FLASH啟動(dòng)。其FLASH的地址為0x08000000—0x0807ffff,共512KB,這些都能從芯片數(shù)據(jù)手冊(cè)中直接得到。而這里首要的一個(gè)問題是中斷的問題。正常情況下發(fā)生中斷的過程為:發(fā)生中斷(中斷請(qǐng)求)à到中斷向量表查找中斷函數(shù)入口地址à跳轉(zhuǎn)到中斷函數(shù)à執(zhí)行中斷函數(shù)à中斷返回。也就是說在STM32的內(nèi)置的Flash中有一個(gè)中斷向量表來存放各個(gè)中斷服務(wù)函數(shù)的入口地址,內(nèi)置Flash的分配情況大致如下圖2-1。

圖2-1


在只有一個(gè)程序的情況下,程序執(zhí)行的走向應(yīng)該如圖2-2所示(借用網(wǎng)友的原圖)。

圖2-2


STM32F10x有一個(gè)中斷向量表,這個(gè)中斷向量表存放在代碼開始部分的后4個(gè)字節(jié)處(即0x08000004),代碼開始的4個(gè)字節(jié)存放的是堆棧棧頂?shù)牡刂罚?dāng)發(fā)生中斷后程序通過查找該表得到相應(yīng)的中斷服務(wù)程序入口地址,然后再跳到相應(yīng)的中斷服務(wù)程序中執(zhí)行。上電后從0x08000004處取出復(fù)位中斷向量的地址,然后跳轉(zhuǎn)到復(fù)位中斷程序的入口(標(biāo)號(hào)①所示),執(zhí)行結(jié)束后跳轉(zhuǎn)到main函數(shù)中(標(biāo)號(hào)②所示)。在執(zhí)行main函數(shù)的過程中發(fā)生中斷,則STM32強(qiáng)制將PC指針指回中斷向量表處(標(biāo)號(hào)③所示),從中斷向量表中找到相應(yīng)的中斷函數(shù)入口地址,跳轉(zhuǎn)到相應(yīng)的中斷服務(wù)函數(shù)(標(biāo)號(hào)④所示),執(zhí)行完中斷函數(shù)后再返回到main函數(shù)中來(標(biāo)號(hào)⑤所示)。


若在STM32F103x中使用IAP方案,則內(nèi)置的Flash分配情況大致如下圖2-3。



圖2-3


在內(nèi)置的Flash里面添加一個(gè)BootLoader程序,BootLoader程序和userapplication各有一個(gè)中斷向量表,假設(shè)BootLoader程序占用的空間為N+M字節(jié),則程序的走向應(yīng)該如圖2-2所示(借用網(wǎng)友的原圖并做改動(dòng),其中虛線部分為原圖步驟④⑤的走向,本人改為指向灰色部分)。


圖2-2


上電初始程序依然從0x08000004處取出復(fù)位中斷向量地址,執(zhí)行復(fù)位中斷函數(shù)后跳轉(zhuǎn)到IAP的main(標(biāo)號(hào)①所示),在IAP的main函數(shù)執(zhí)行完成后強(qiáng)制跳轉(zhuǎn)到0x08000004+N+M處(標(biāo)號(hào)②所示),最后跳轉(zhuǎn)到新的main函數(shù)中來(標(biāo)號(hào)③所示),當(dāng)發(fā)生中斷請(qǐng)求后,程序跳轉(zhuǎn)到新的中斷向量表中取出新的中斷函數(shù)入口地址,再跳轉(zhuǎn)到新的中斷服務(wù)函數(shù)中執(zhí)行(標(biāo)號(hào)④⑤所示),執(zhí)行完中斷函數(shù)后再返回到main函數(shù)中來(標(biāo)號(hào)⑥所示)。


對(duì)于步驟④⑤,網(wǎng)友認(rèn)為是:“在main執(zhí)行的過程中,如果CPU得到一個(gè)中斷請(qǐng)求,PC指針仍強(qiáng)制跳轉(zhuǎn)到地址0x08000004中斷向量表處,而不是新的中斷向量表,如圖標(biāo)號(hào)④所示,程序再根據(jù)我們?cè)O(shè)置的中斷向量表偏移量,跳轉(zhuǎn)到對(duì)應(yīng)中斷源新的中斷服務(wù)程序中,如圖標(biāo)號(hào)⑤所示”。我對(duì)此的理解是:“當(dāng)發(fā)生中斷后,程序從0x08000004(舊)處的中斷向量表中得到相應(yīng)的中斷服務(wù)函數(shù)入口地址,繼而跳轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序”。但是舊的中斷向量列表里邊存放的是IAP程序中斷函數(shù)的入口地址,它是如何得到user程序中斷函數(shù)的入口地址呢?所以我覺得此種說法是錯(cuò)誤的。“當(dāng)發(fā)生中斷時(shí)PC指針強(qiáng)制會(huì)跳轉(zhuǎn)到0x08000004處”這種說法并沒有錯(cuò),只是忽略了后續(xù)的一些知識(shí)要點(diǎn)而導(dǎo)致這個(gè)說法出現(xiàn)矛盾。


對(duì)于步驟④⑤我認(rèn)為的是,在main函數(shù)的執(zhí)行過程中,如果CPU得到一個(gè)中斷請(qǐng)求,PC指針本來應(yīng)該跳轉(zhuǎn)到0x08000004處的中斷向量表,由于我們?cè)O(shè)置了中斷向量表偏移量為N+M,因此PC指針被強(qiáng)制跳轉(zhuǎn)到0x08000004+N+M處的中斷向量表中得到相應(yīng)的中斷函數(shù)地址(待求證),再跳轉(zhuǎn)到相應(yīng)新的中斷服務(wù)函數(shù),執(zhí)行結(jié)束后返回到main函數(shù)中來。


三、實(shí)現(xiàn)過程


STM32F103ZET6的Flash地址為0x08000000—0x0807ffff共512KB,把這512KB的空間分為兩塊,第一塊大小為32KB存放BootLoader程序,剩余的空間存放用戶程序(根據(jù)實(shí)際情況分配這兩塊空間的大小,BootLoader程序占用的空間越小越好,則BootLoader地址為0x08000000—0x08007fff,用戶程序地址為0x08008000—0x0807ffff。BootLoader流程圖大致應(yīng)該如下:


1、初始化時(shí)鐘。


2、初始化中斷向量表地址。


3、初始化按鍵。(使用按鍵觸發(fā)方式,上電時(shí)如果按鍵被按下則進(jìn)行用戶程序更新操作)


4、初始化串口。


5、檢測(cè)按鍵是否被按下,是則執(zhí)行步驟6,否則執(zhí)行步驟10。


6、擦除用戶程序(擦除0x08008000—0x0807ffff地址空間Flash)。


7、從串口讀取新的用戶代碼數(shù)據(jù),把代碼寫入用戶程序空間。


8、檢測(cè)串口數(shù)據(jù)接收完畢?是則執(zhí)行步驟9,否則跳回步驟7。


9、用戶程序更新完畢,等待重新上電或硬件復(fù)位。


10、跳轉(zhuǎn)到用戶程序(強(qiáng)制將PC指針跳轉(zhuǎn)到0x08008000+4處)。


到這里首先要解決的問題就有:


1、如何進(jìn)行對(duì)STM32的Flash進(jìn)行擦除和寫入操作。


2、中斷向量表偏移如何設(shè)置。


3、如何改變代碼存放的地址空間(因?yàn)锽ootLoader要存放在0x08000000處,用戶程序要存放在0x08008000處,而默認(rèn)的代碼存放的地址空間為0x08000000)。


4、怎么進(jìn)行PC指針的強(qiáng)制跳轉(zhuǎn),跳轉(zhuǎn)時(shí)需要做些什么。


5、串口接收的用戶代碼數(shù)據(jù)是什么樣的代碼數(shù)據(jù),是一種什么樣的文件。


問題的解決:


1、使用STM32的固件庫函數(shù),只需調(diào)用幾個(gè)庫函數(shù)即可輕松解決,使用的固件庫為stm32f10x_flash.c文件,對(duì)Flash的操作過程簡(jiǎn)要為:Flash解鎖àFlash擦除àFlash寫入àFlash上鎖。(對(duì)Flash編程的更詳細(xì)操作參考STM32F10xxx閃存編程手冊(cè))


①解鎖:


FLASH_Unlock();//解鎖Flash


FLASH_SetLatency(FLASH_Latency_2);//因?yàn)橄到y(tǒng)時(shí)鐘為72M所以要設(shè)置兩個(gè)時(shí)鐘周期的延時(shí)


②擦除:


for(i=0;i<240;i++)


{


if(FLASH_ErasePage(FLASH_ADDR+i*2048)!= FLASH_COMPLETE)//一定要判斷是否擦除成功


returnERROR;


}


說明:FLASH_ErasePage(uint32_t Page_Address)即為Flash擦除操作,按頁擦除,每頁2KB,Page_Address為頁的起始地址,如0x08000000是第一頁起始地址,0x08000800為第二頁起始地址,這里的操作擦除了0x08008000—0x0807ffff地址空間的Flash。


③寫入:


unsignedchar buf[1024];//假設(shè)待寫入的代碼數(shù)據(jù)


unsigned short temp;//臨時(shí)數(shù)據(jù)


for(i=0;i<512;i++)


{


temp = (buf[2*i+1]<<8) | buf[2*i];//2個(gè)字節(jié)整合為1個(gè)半字


if(FLASH_ProgramHalfWord(ADDR,temp) != FLASH_COMPLETE)//判斷是否寫入成功


{


Return ERROR;


}


ADDR +=2;//地址要加2,因?yàn)槊看螌懭氲氖?個(gè)字節(jié)(1個(gè)半字)


}


說明:因?yàn)镾TM32的Flash寫入為雙字節(jié)(1個(gè)半字)寫入,F(xiàn)LASH_ProgramHalfWord(uint32_t Address, uint16_t Data)函數(shù)即為對(duì)地址為Address寫入1個(gè)半字的Data,每次寫入完成后地址要加2。


④上鎖:


FLASH_Lock();//Flash上鎖,一個(gè)固件庫函數(shù)即可實(shí)現(xiàn)。


2、關(guān)于中斷向量表的偏移設(shè)置,對(duì)于BootLoader程序只需設(shè)置中斷向量表的指向在0x08000000處,對(duì)于用戶程序需要設(shè)置中斷向量表的指向在0x08008000處即可。


①在BootLoader程序的中斷向量表指向設(shè)置中應(yīng)有這么一句:


NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);//設(shè)置中斷向量表指向


其中NVIC_VectTab_FLASH是個(gè)宏定義,的值為0x08000000。


②在用戶程序的中斷向量表指向設(shè)置用應(yīng)有這么一句:


NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x8000);//設(shè)置中斷向量表指向


3、確認(rèn)代碼存放的地址空間,在IAR和在Keil中的設(shè)置是不同的,網(wǎng)上有在Keil中設(shè)置的方法,設(shè)立介紹在IAR軟件環(huán)境下的設(shè)置方法。


①在固件庫目錄STM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_TemplateEWARM下找到一個(gè)stm32f10x_flash.icf文件,將其復(fù)制到工程目錄中來,在打開IAR工程,將配置文件添加到工程中,如下圖3-2所示



圖3-1


②在工程中打開stm32f10x_flash.icf該文件,修改兩個(gè)參數(shù)即可改變代碼存放的地址空間,圖下圖3-2所示。


圖3-2


4、關(guān)于PC指針的強(qiáng)制跳轉(zhuǎn),想在BootLoader程序中將PC指針跳轉(zhuǎn)到用戶代碼處,可選擇下面的操作


typedefvoid (*pFunction)(void);


pFunctionJump_To_Application;


uint32_tJumpAddress;


#defineApplicationAddress0x08008000


if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)//--------①


{


JumpAddress= *(__IO uint32_t*) (ApplicationAddress + 4);//--------②


Jump_To_Application= (pFunction) JumpAddress;//--------③


__set_MSP(*(__IOuint32_t*) ApplicationAddress);//--------④


Jump_To_Application();//--------⑤


}


①因?yàn)橛脩舫绦蜷_始位置(0x08008000處)的前4個(gè)字節(jié)存放的是堆棧的地址,堆棧地址必定是指向RAM空間的,而STM32的RAM空間起始地址為0x20000000,所以要進(jìn)行判斷。


②程序跳轉(zhuǎn)地址的確認(rèn),前面已經(jīng)說過0x08008004處的4個(gè)字節(jié)存放的是復(fù)位函數(shù)的入口地址,該句的意思為獲得(ApplicationAddress + 4)地址處的數(shù)據(jù),即為獲得新的復(fù)位函數(shù)入口地址。


③令Jump_To_Application這個(gè)函數(shù)指針指向復(fù)位函數(shù)入口地址。


④堆棧的初始化,重新設(shè)定棧頂代地址,把棧頂?shù)刂吩O(shè)置為用戶代碼指向的棧頂?shù)刂贰?p>

⑤跳轉(zhuǎn)到新的復(fù)位函數(shù)。


5、通過串口來接收代碼數(shù)據(jù),就是PC機(jī)通過串口將代碼數(shù)據(jù)發(fā)送到STM32中去。這里就涉及到兩個(gè)問題:


①數(shù)據(jù)怎么得來。


②數(shù)據(jù)傳輸?shù)倪^程需要遵循的協(xié)議,什么時(shí)候開始,什么時(shí)候結(jié)束。


解決①:一般我們就將*.hex文件使用JFlash-ARM打開再通過Jlink仿真器燒錄到STM32芯片中,但是*.hex文件里邊包含的數(shù)據(jù)不純粹是代碼數(shù)據(jù)還有一些別的東西,而*.bin文件數(shù)據(jù)就全部是代碼數(shù)據(jù)。


在IAR軟件環(huán)境中打開一個(gè)用戶工程,先設(shè)置好中斷向量表偏移和代碼存放的地址空間后(前面已介紹過這兩種方法)。設(shè)置工程如下圖3-3所示,確認(rèn)后重新編譯工程,在工程的DebugExe目錄下會(huì)相應(yīng)生成一個(gè)xxx.bin文件,這就是所需要的代碼文件。


圖3-3


②數(shù)據(jù)通過串口來傳輸文件常用的協(xié)議有XModem、YModem、ZModem這三種協(xié)議,在PC端使用這些協(xié)議傳輸文件只需要PC的超級(jí)終端或者終端工具SecureCRT即可,但是在STM32這邊的編程會(huì)增加一些困難(因?yàn)橐热プx懂、解析這些協(xié)議,在通過編程來實(shí)現(xiàn))。也可選擇自己定義一套簡(jiǎn)單的傳輸協(xié)議,但同樣會(huì)有一些困難(因?yàn)橐赑C端進(jìn)行文件和串口編程)。總之不管通過什么辦法都行,只要能將xxx.bin文件數(shù)據(jù)通過串口全部發(fā)送到STM32并且STM32能夠全部接收到這些數(shù)據(jù)并寫入Flash即可(我選擇后者,自定義傳輸協(xié)議并用VC進(jìn)行文件和串口編程)。


四、結(jié)束語


總的來說STM32的IAP方案實(shí)現(xiàn)需要在進(jìn)行用戶程序之前加一段Bootloader程序,BootLoader程序的作用就是:


①什么都不做,直接跳轉(zhuǎn)到用戶程序。


②刪除原有的用戶程序,讀取*.bin文件數(shù)據(jù)并將數(shù)據(jù)重新寫入新的用戶程序。


對(duì)于用戶程序相比普通的編程只需要做三步改動(dòng)即可


①改變中斷向量表。


②改變代碼存放的地址空間


③修改生成*.bin文件


使用通過UART的IAP方案并不是很好的選擇,這只是IAP方案的一個(gè)機(jī)制,因?yàn)槟苁褂肞C機(jī)通過串口升級(jí)程序,同樣能通過Jlink燒寫程序,并且自定義的串口通訊協(xié)議在沒有校CRC校驗(yàn)的情況下不能及時(shí)發(fā)現(xiàn)數(shù)據(jù)傳輸過程發(fā)生的錯(cuò)誤。這里推薦使用SD卡(或U盤)進(jìn)行用戶程序更新,將*.bin文件復(fù)制到SD卡(或U盤)中,STM32再通過讀取SD卡(或U盤)的*.bin文件進(jìn)行用戶程序更新,這也避免了STM32與PC笨重的通訊,只需插一個(gè)SD卡(或U盤)更顯得人性化一些,但需要去弄懂STM32如何與SD卡(或U盤)的通訊。

關(guān)鍵字:IAR環(huán)境  STM32  IAP方案 引用地址:IAR環(huán)境下STM32+IAP方案的實(shí)現(xiàn)

上一篇:STM32 PWM 輸出
下一篇:基于STM32 MCU的太陽能:LED街燈解決方案

推薦閱讀

????首次覆蓋,給予謹(jǐn)慎增持評(píng)級(jí),目標(biāo)價(jià) 41.25 元。 作為國(guó)內(nèi)半導(dǎo)體材料龍頭企業(yè),公司產(chǎn)品線完整同時(shí)大硅片項(xiàng)目超預(yù)期概率大,同時(shí)將會(huì)受益于下游客戶資源需求擴(kuò)張以及募投產(chǎn)能的釋放過程。我們預(yù)計(jì)公司 2017-19 年 EPS 為 0.38、 0.55、 0.73 元,給予公司 2018 年 75 倍PE,目標(biāo)價(jià) 41.25 元。  國(guó)內(nèi)半導(dǎo)體材料領(lǐng)軍企業(yè),研發(fā)實(shí)...
此文章為接近市場(chǎng)人士的觀察結(jié)論,不代表享能匯觀點(diǎn),歡迎其他讀者添加享能匯AI微信(JingReport_AI)提出想法一起交流。 四川電力市場(chǎng)目前有8個(gè)市場(chǎng)交易品種鋁電合作、跨省聯(lián)動(dòng)、戰(zhàn)略長(zhǎng)協(xié)、常規(guī)直購、富余電量、低估棄水、留存電量、關(guān)停補(bǔ)償,應(yīng)該為全國(guó)最為復(fù)雜的售電市場(chǎng)。 2019年的年度集中競(jìng)價(jià)交易均在3月29日全部結(jié)束。2019年四川電力市場(chǎng)可以...
目前應(yīng)用最廣的就是工廠產(chǎn)線上的機(jī)械臂,能夠代替一些有規(guī)律性操作的動(dòng)作。這樣可以完全代替一些重復(fù)操作的操作工人。既然工業(yè)機(jī)器人的概念這么火。可為什么只有少數(shù)的一些大工廠部署了工業(yè)機(jī)器人呢。我想可以從這幾方面來分析。 1.成本高昂,難以普及應(yīng)用 現(xiàn)在這些工業(yè)機(jī)器人,也屬于精密器件,需要的技術(shù)水平比較高,研發(fā)投入比較大,所以生產(chǎn)出來...
國(guó)家發(fā)改委日前發(fā)布的《關(guān)于2021年新能源上網(wǎng)電價(jià)政策有關(guān)事項(xiàng)的通知(意見征求稿)》(以下稱《意見征求稿》),明確提出2021年納入當(dāng)年中央財(cái)政補(bǔ)貼規(guī)模的新建戶用分布式光伏全發(fā)電量補(bǔ)貼標(biāo)準(zhǔn)為每千瓦時(shí)0.03元,2022年起新建戶用分布式光伏項(xiàng)目中央財(cái)政不再補(bǔ)貼。這意味著今年是戶用光伏享有國(guó)家補(bǔ)貼的最后一年,2022年將正式開啟無補(bǔ)貼階段,這為本就火...

史海拾趣

問答坊 | AI 解惑

請(qǐng)教捕獲單元使用

我用timer1產(chǎn)生一個(gè)PWM波形,利用捕獲單元4(用T3作時(shí)基)捕獲這個(gè)PWM,并將捕獲值存入另一個(gè)數(shù)組。那么我在板子上實(shí)現(xiàn)的時(shí)候,是不是需要將芯片上的T1pwm引腳接到捕獲單元4的cap4引腳上呢?如果不需要,請(qǐng)教一下原因…… 謝謝!…

查看全部問答∨

嵌入式數(shù)字多媒體終端硬件平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

隨著信息時(shí)代的到來,信息技術(shù)尤其是計(jì)算機(jī)多媒體技術(shù)與網(wǎng)絡(luò)技術(shù)飛速發(fā)展,語音教室在各種學(xué) 校都已有了廣泛的應(yīng)用。現(xiàn)存的語音教學(xué)系統(tǒng)一般都是采用模擬電路,可靠性低,抗干擾性弱,易發(fā)生 串音,從而在傳輸過程中會(huì)失真、衰減,且易受干擾, ...…

查看全部問答∨

多個(gè)18B20通信時(shí)電路問題

我做了20個(gè)1820采集的系統(tǒng) 每個(gè)探頭都是10m長(zhǎng) 上拉4.7k的電阻后發(fā)現(xiàn)5v根本驅(qū)動(dòng)不了 輸出的都是0  一直調(diào)到了7v多才正確輸出,可是只能穩(wěn)定工作30分鐘這樣,30分鐘后就全是ffff,看了網(wǎng)上很多資料 感覺似乎是驅(qū)動(dòng)問題 想問下有人有做過類 ...…

查看全部問答∨

醫(yī)改方案出臺(tái)預(yù)示中國(guó)改革分水嶺

本帖最后由 jameswangsynnex 于 2015-3-3 19:57 編輯 2009-4-8 南方都市報(bào) 新京報(bào) 4月7日推出的《醫(yī)藥衛(wèi)生體制改革近期重點(diǎn)實(shí)施方案(2009年-2011年)》,標(biāo)志著具有里程碑意義的醫(yī)療改革方案正式出臺(tái)。歷經(jīng)數(shù)年改革向何處去的全民大討論,在 ...…

查看全部問答∨

CCS編譯問題

我在工程里明明添加了DSP2833x_Device.h這個(gè)頭文件了 “"example.c", line 1: fatal error: could not open source file "DSP2833x_Device.h"”   為什么還是顯示這樣的錯(cuò)誤啊 [ 本帖最后由 votex威 于 2010-1-6 21:50 編輯 ] ...…

查看全部問答∨

兩種常見的MOSFET驅(qū)動(dòng)電路 2

半橋驅(qū)動(dòng)芯片組成的驅(qū)動(dòng)電路 半橋驅(qū)動(dòng)芯片組成的驅(qū)動(dòng)電路如圖4所示,工作原理如下: A.當(dāng)HS和LS同時(shí)為高電平時(shí),HO有驅(qū)動(dòng)電壓輸出,使Q1開通。當(dāng)HS和LS同時(shí)為低電平時(shí),LO有驅(qū)動(dòng)電壓輸出,使Q2開通。 B.電容C2與分立器件驅(qū)動(dòng)電路里的C4作用相 ...…

查看全部問答∨

大量單片機(jī)資料下載(收集了幾年的東西)(里面絕對(duì)有你想找的)

大量單片機(jī)資料下載   廢話不多說 上資料 1.KEIL入門學(xué)習(xí)的好資料 [ 本帖最后由 melodyooo 于 2010-3-19 16:38 編輯 ]…

查看全部問答∨

在網(wǎng)上找的圖,怎么達(dá)不到預(yù)期效果?

附圖是我在網(wǎng)上找的圖,按照?qǐng)D做電路,不能達(dá)到預(yù)期效果,有做過的嗎?請(qǐng)求怎么解決這個(gè)問題,照這個(gè)圖搭完電路,3腳輸出高電平,為什么?求解 文章介紹如下:         555定時(shí)器在這里接成單穩(wěn)態(tài)電路。平時(shí)由于 ...…

查看全部問答∨

圖片翻頁

如何做圖片翻頁效果,好像翻書本那樣? 沒什么頭緒呢, 大家有沒有什么好的方案,或者什么好的資料? 謝謝了…

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 吴堡县| 榆中县| 富顺县| 开阳县| 楚雄市| 隆化县| 红原县| 舞钢市| 北安市| 霍林郭勒市| 城固县| 大新县| 浦城县| 泽普县| 教育| 湘潭市| 山东| 石狮市| 瓮安县| 昌黎县| 安福县| 芒康县| 论坛| 肃宁县| 万载县| 南漳县| 华阴市| 廊坊市| 开鲁县| 怀宁县| 洪湖市| 清涧县| 昌宁县| 天峻县| 沁源县| 运城市| 阿克| 乡宁县| 通化县| 丹东市| 临漳县|