STM32有兩個寄存器可以控制IO輸出, 一個是ODR寄存器, 只使用了低16位. 向此寄存器寫數(shù)據(jù), 就可以控制某個引腳的輸出電平.BSRR寄存器是端口位設置/清除寄存器. 此寄存器和ODR寄存器有類似的功能, 都可以來用設置GPIO端
看到了一片關于stm32 nvic的解釋,使用到了階級 和階層的概念,很形象化也很容易理解。鏈接:http://blog.sina.com.cn/s/blog_5f17618501012rpp.htmlNVIC——NestedVectoredInterruptController(嵌套中斷向量控制器)
J-link幾乎可以調(diào)試所有的arm芯片,不得不說是個好東東。這里記錄三種stm32的下載程序方式:1.J-Flash下載(需要用到J-link)2.MDK配置下載(需要用到J-link)3.ISP下載(串口下載,需要用到官配串口下載軟件,用過s
由于當時寫的時候很白菜,h文件和c文件放一塊了,不過加到工程里時也這么一段代碼,無線模塊就能用了,雖不規(guī)范,但用起來還湊合。單片機用的是STM32104VC,無線模塊是淘寶買的NRF24L01,簡單實用,效果不錯。配置文件
簡單實現(xiàn)STM32 CRC32使用使用前記得使能STM32 CRC時鐘//STM32硬件CRC32byte數(shù)據(jù)計算,將數(shù)據(jù)移到最高位,低位補上FFu32stm32_crc32_byte(u8*pBuff,u32len){u32i;u8buff[4];u32*p32=(u32*)buff;CRC->CR=1;//復位CRC寄存
這個問題大概2009年的時候很多人就在問,請看09年的時候大家給出的若干比喻:http://www.amobbs.com/forum.php?mod=viewthread&tid=3784815&highlight以后的ARM初學者也都在問。筆者也是菜鳥,到網(wǎng)上搜了搜。下面先看
如圖:為原子的串口下載電路在CH340的數(shù)據(jù)手冊上有引腳的介紹以及作用:這兩個引腳:DTR#和RTS#都是 輸出類型,MCUISP(一鍵下載工具),會控制CH340這兩個引腳的高低電平狀態(tài),通過控制DTR#和RST#這兩個引腳的高低電平
方法:static const uint8_t s_acBmpLogo030[len] __attribute__((at(0X800F000)))={0x80,0xC0,0xC0,0xC0,0xC0,0x80,xxxxxxx} 編譯之后可在.map文件看到其分配到的地址0x0800f000 0x0000005c Data RO 4013 .A
STM8和STM32都配備了獨立看門狗,其作用之大不言而喻。以下為STM8及STM32的獨立看門狗使用例:對于STM32單片機:#define SYS_IWDG_OPEN IWDG->KR=0xCCCC;#define SYS_IWDG_FEED IWDG->KR=0xAAAA;void SystemIW
每個中斷有自己的可編程的中斷優(yōu)先級【 有唯一對應的 中斷優(yōu)先級寄存器 】.由于CM3支持 硬件中斷嵌套,所以可以有 256 級的可編程優(yōu)先級和 256級中斷嵌套【 書上稱:搶占(preempt) 優(yōu)先級】
stm32的使用和51單片機不同,單片機接上晶振接上電源 直接就可以操作io口,但是stm32的時鐘是經(jīng)過了倍頻器放大頻率的,然后再由鎖相環(huán)輸出穩(wěn)定的時鐘頻率。這么做的帶來了很多好處,雖然stm32的外部時鐘只有8Mhz ,經(jīng)
為實現(xiàn)高效的C語言代碼編寫,將Matlab/Simulink應用在基于ARMCortex—M3內(nèi)核STM32微控制器的嵌入式系統(tǒng)軟件開發(fā)中。利用專門針對STM32系列微控制器開發(fā)的Simulink模塊庫RapidSTM32及其工具套件,對嵌入式系統(tǒng)進行建模與仿真。仿真成功后,在模型編譯器中把其翻譯成高效的MDKC語言代碼,實現(xiàn)了STM32嵌入式系統(tǒng)軟件代碼的快速生成。實驗結果表明,所生成的軟件代碼在STM32嵌入式目標系統(tǒng)中運行狀況良好。該方法在軟件設計效率和易維護性等方面優(yōu)于手工編寫的代碼方法。
UART接收發(fā)送數(shù)據(jù):平臺:STM32F401 discovery版此代碼用的UART6,TX,RX對應的PIN腳是PC6,PC7如圖:代碼如下:步驟一:初始化串口的GPIO,USART,并且配置上UART的RX中斷voidUSART6_Config(void){USART_InitTypeDefU
一、MDK設置在工程的Target中MicroLib二、main函數(shù)之前添加如下編譯代碼:#define COM USART1//串口選擇初始化,USART1為串口1,USART2為串口2#ifdef __GNUC__#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)#el
市場上涌現(xiàn)各種價格親民的經(jīng)濟型微控制器,助力新一代開發(fā)者創(chuàng)造令人興奮的新型嵌入式應用。如今的開發(fā)工具非常好用,軟硬件均呈現(xiàn)模塊化趨勢,插接安裝簡單容易,使得產(chǎn)品設計評估和原型開發(fā)周期大幅縮短。
一、功能:用于在程序間進行相互跳轉;二、示例typedef void(*pFunction)(void);u32 JumpAddress;pFunction Jump_To_Application;void GotoAPPMain(void){ JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4
意法半導體(STMicroelectronics,簡稱ST;紐約證券交易所代碼:STM)的STM32開放式開發(fā)環(huán)境(Open Development Environment ,ODE)在發(fā)布僅一年后,就已成為功能完整的集成開發(fā)生態(tài)系統(tǒng),幫助開發(fā)人員開發(fā)包括物聯(lián)網(wǎng)(IoT)應用在內(nèi)的嵌入式系統(tǒng)。
嵌入式系統(tǒng)的開發(fā)最終需要將編譯好的代碼下載到具體的微控制器芯片上,而不同廠家的微控制器芯片有不同的下載方式。隨著技術的發(fā)展和應用需求的更新,用戶程序加載趨向于在線編程的方式,越來越多的芯片公司提供和開放了用戶更新程序的接口與方式,以提高整個系統(tǒng)的可靠性和可維護性。ST公司基于CortexM3內(nèi)核的STM32系列產(chǎn)品得到了廣泛應用,在許多基
因為要保存運單號碼,又不想使用字符串保存,所以就用了uint_64_t的類型保存數(shù)據(jù),傳輸?shù)臅r候要將其轉為字節(jié)數(shù)組,使用聯(lián)合體能方便進行轉換//8個字節(jié)長度的聯(lián)合體,注意,因為M3是使用的小端模式,所以高字節(jié)的數(shù)據(jù)
AHB :AHB:Advanced High-performance BusAHB和和和和APB這兩種總線所連的外設是有區(qū)別的這兩種總線所連的外設是有區(qū)別的這兩種總線所連的外設是有區(qū)別的這兩種總線所連的外設是有區(qū)別的。AHB總線連總線連總線連總線連