相對(duì)于ARM上一代的主流ARM7/ARM9內(nèi)核架構(gòu),新一代Cortex內(nèi)核架構(gòu)的啟動(dòng)方式有了比較大的變化。ARM7/ARM9內(nèi)核的控制器在復(fù)位后,CPU會(huì)從存儲(chǔ)空間的絕對(duì)地址0x000000取出第一條指令執(zhí)行復(fù)位中斷服務(wù)程序的方式啟動(dòng),即
由于最近老師讓做一個(gè)項(xiàng)目,要用到STM32但是考慮成本問題,決定不用外部時(shí)鐘,所以在網(wǎng)上搜集整理了一些資料,加上自己的一些想法。參考資料:http://bbs.ednchina.com/BLOG_ARTICLE_3011869.HTMhttp://bbs.21ic.com
stm32編程方式:(1)ICP(JTAG/SWD協(xié)議或者系統(tǒng)加載bootloader(串口))下載程序到微控制器中。(2)IAP:就是通過任何一個(gè)通信接口(IO端口,USB,CAN,SPI,IIC等),下載程序或數(shù)據(jù)到存儲(chǔ)器中,stm32允許用戶在應(yīng)用
做為現(xiàn)在的物聯(lián)網(wǎng)行業(yè),手持設(shè)備中,缺少不了的就是GPS定位功能。GPS模塊和STM32的串口進(jìn)行通信,將GPS的數(shù)據(jù)發(fā)送給M3的串口,由M3進(jìn)行GPS協(xié)議的解碼。解析出來后保存在響應(yīng)的結(jié)構(gòu)體中。在進(jìn)行顯示。這里分別介紹2中
一、啟動(dòng)文件的作用是:1.初始化堆棧指針SP;2.初始化程序計(jì)數(shù)器指針PC;3.設(shè)置堆、棧的大小;4.設(shè)置異常向量表的入口地址;5.配置外部SRAM作為數(shù)據(jù)存儲(chǔ)器(這個(gè)由用戶配置,一般的開發(fā)板可沒有外部SRAM);6.設(shè)置C庫的分
最近在看數(shù)據(jù)手冊(cè)的時(shí)候,發(fā)現(xiàn)STM32的GPIO輸入輸出模式的配置種類有8種之多(輸入和輸入各4種):(1)GPIO_Mode_AIN模擬輸入(2)GPIO_Mode_IN_FLOATING浮空輸入(3)GPIO_Mode_IPD下拉輸入(4)GPIO_Mode_IPU上拉輸
RTC使用說明STM3f10x的RTC時(shí)能涉及到的寄存器有RCC,BKP和RTC這三個(gè)大類寄存器;其中RCC主要控制了實(shí)時(shí)時(shí)鐘和備份區(qū)的電源使能和時(shí)鐘使能;RTC模塊和時(shí)鐘配置系統(tǒng)的寄存器是在后備區(qū)域的(即BKP),通過BKP后備區(qū)域來
STM32的獨(dú)立看門狗由內(nèi)部專門的40Khz低速時(shí)鐘驅(qū)動(dòng),即使主時(shí)鐘發(fā)生故障,它也仍然有效??撮T狗的原理:單片機(jī)系統(tǒng)在外界的干擾下會(huì)出現(xiàn)程序跑飛的現(xiàn)象導(dǎo)致出現(xiàn)死循環(huán),看門狗電路就是為了避免這種情況的發(fā)生??撮T狗
STM32支持仿真器和串口下載程序。將要介紹的內(nèi)容,屬于串口下載,即我們通常說的ISP下載。手動(dòng)ISP下載程序,我們已經(jīng)知道了,控制BOOT0引腳實(shí)現(xiàn)。STM32上電,會(huì)自動(dòng)檢測BOOT0引腳是什么電平,如果是高電平,等待用戶
硬件平臺(tái):stm32f10xZET6開發(fā)環(huán)境:keil MDK uVision v4.10開發(fā)語言:C、ST_lib_3.5固件庫【串口通信】typedef struct{ u32 USART_BaudRate; u16 USART_WordLength; u16 USART_StopBits; u16 USART_Parity; u16 USAR
Cube固件庫是ST現(xiàn)在主推的固件庫,并且在它的官網(wǎng)已經(jīng)找不到原來的標(biāo)準(zhǔn)庫可供下載。Cube固件庫的構(gòu)架圖如下這種新式構(gòu)架可以有效的加快軟件工程師的工程進(jìn)度。 新建一個(gè)工程項(xiàng)目主要包括以下的步驟: 1、使
字符發(fā)送的過程描述:在UART的發(fā)送過程中先將數(shù)據(jù)輸入到發(fā)送數(shù)據(jù)寄存器中(TDR)此時(shí)(TXE)被硬件置1,之后TDR寄存器將數(shù)據(jù)串行移入到發(fā)送移位寄存器中,將數(shù)據(jù)在TX端口發(fā)送,此時(shí)(TC)被硬件置1。發(fā)送與接收是逆過程。
STM32-IIC 配置解說(原創(chuàng))STM32 - I2C 簡介 :I2C 總線接口連接微控制器和串行 I2C 總線。它提供多主機(jī)功能,控制所有 I2C總線特定的時(shí)序、協(xié)議、仲裁和定時(shí)。支持標(biāo)準(zhǔn)和快速兩種模式,另外 STM32的 I2C 可以使用
單片機(jī)STM32的引腳有多種方式可以選擇。如果你是用直接寫寄存器來配置的話,那么,看上手冊(cè),給“配置寄存器”對(duì)應(yīng)的位寫0或者1就可以達(dá)到目的。如下圖:如果是用庫函數(shù)來配置的話,就需要知道下面這個(gè)結(jié)構(gòu)體中的變量
STM32三種啟動(dòng)模式對(duì)應(yīng)的存儲(chǔ)介質(zhì)均是芯片內(nèi)置的,它們是:1)用戶閃存 = 芯片內(nèi)置的Flash。2)SRAM = 芯片內(nèi)置的RAM區(qū),就是內(nèi)存啦。3)系統(tǒng)存儲(chǔ)器 = 芯片內(nèi)部一塊特定的區(qū)域,芯片出廠時(shí)在這個(gè)區(qū)域預(yù)置了一段Bootl
由于我的J-LINK 壞了,新買的還沒到,就用串口工具進(jìn)行下載。信息提示框提示下載內(nèi)容不在0x08000000 與0x20000000范圍內(nèi),即不在程序FLASH或SRAM上。而讀器件信息,清除芯片就沒問題,表示我的串口下載工具沒有問題。
最近用到的溫濕度傳感器,AM2305驅(qū)動(dòng),單總線,上電后至少要延時(shí)2S才能讀取溫濕度,溫度精度很高,跟DS18B20一樣,數(shù)據(jù)帶校驗(yàn),不會(huì)出現(xiàn)DS18B20那樣,并且時(shí)序要求不高/***************************************************
串口記錄: STM32有好幾個(gè)串口。比如說STM32F103ZET6有5個(gè)串口,串口1的引腳對(duì)應(yīng)的IO為PA9,PA10.PA9,PA10默認(rèn)功能是GPIO,所以當(dāng)PA9,PA10引腳作為串口1的TX,RX引腳使用的時(shí)候,那就是端口復(fù)用。 復(fù)用端口初始化有幾
LWIP是一款開源的嵌入式網(wǎng)絡(luò)協(xié)議棧,支持的功能很多,而且能在多任務(wù)環(huán)境下和單任務(wù)裸機(jī)環(huán)境下跑,今天說說他的移植過程,芯片為STM32,網(wǎng)卡為ENC28J60,無操作系統(tǒng) 首先下載LWIP的源代碼,我下載的是1.4.1的源碼,下載后解
例程: /* Configure one bit for preemption priority */ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); /* Enable the WAKEUP_BUTTON_EXTI_IRQn Interrupt */ NVIC_InitStructure.NVIC_IRQChannel = WAKEUP_BU