最近在看數(shù)據(jù)手冊(cè)的時(shí)候,發(fā)現(xiàn)在Cortex-M3里,對(duì)于GPIO的配置種類有8種之多:(1)GPIO_Mode_AIN 模擬輸入(2)GPIO_Mode_IN_FLOATING 浮空輸入(3)GPIO_Mode_IPD 下拉輸入(4)GPIO_Mode_IPU 上拉輸入(5)GPIO_Mo
一直想寫個(gè)類似uCOS的OS,近段時(shí)間考研復(fù)習(xí)之余忙里偷閑,總算有點(diǎn)成果了。言歸正傳,我覺得OS最難的部分首先便是上下文切換的問(wèn)題,他和MCU的架構(gòu)有關(guān),所以對(duì)于不同的MCU,這部分需要移植。一旦這個(gè)問(wèn)題解決了
0.前言 去年(2013年)的整理了LwIP相關(guān)代碼,并在STM32上“裸奔”成功。一直沒(méi)有時(shí)間深入整理,在這里借博文整理總結(jié)。LwIP的移植過(guò)程細(xì)節(jié)很多,博文也不可能一一詳解個(gè)別部分只能點(diǎn)到為止。 【本文要點(diǎn)】 【1】
搞過(guò)全橋電機(jī)驅(qū)動(dòng)的都知道控制死區(qū)時(shí)間的重要性,一般解決方案是搭建電路控制死區(qū)時(shí)間或直接使用全橋驅(qū)動(dòng)芯片。 而STM32擁有兩個(gè)高級(jí)定時(shí)器,可以直接輸出具有調(diào)節(jié)死區(qū)時(shí)間的PWM。 現(xiàn)以TIM1通道1輸出占空比為50%,死
AT24Cxx系列EEPROM是由美國(guó)Mcrochip公司出品,1-512K位的支持I2C總線數(shù)據(jù)傳送協(xié)議的串行CMOS E2PROM,可用電擦除,可編程自定時(shí)寫周期(包括自動(dòng)擦除時(shí)間不超過(guò)10ms,典型時(shí)間為5ms)的。串行E2PROM一般具有兩種寫入
(1)Flash的簡(jiǎn)介 不同型號(hào)的 STM32,其 FLASH 容量也有所不同,最小的只有 16K 字節(jié),最大的則達(dá)到了1024K 字節(jié)。STM32F103ZET6 的 FLASH 容量為 512K 字節(jié),屬于大容量產(chǎn)品。 STM32 的閃存模塊由:主存儲(chǔ)器、信
首先,我是看著這位博主的文章受到的啟發(fā),進(jìn)而加深了自己對(duì)USART的理解。下面是自己改裝并實(shí)驗(yàn)過(guò)的程序。原文:http://www.cnblogs.com/greatwgb/archive/2011/07/28/2119350.html1.串口的基本概念在STM32的參考手冊(cè)
使用LwIP容易,但要想使用LwIP獲得好的的速度。LwIP做一個(gè)如下修改,會(huì)讓TCP網(wǎng)絡(luò)速度好一些:lwipopts.h文件/* TCP Maximum segment size. */#define TCP_MSS 2048//1024/* TCP sender buffer space (by
STM32利用庫(kù)函數(shù)編程庫(kù)函數(shù)是STM32生產(chǎn)廠家封裝好的函數(shù)庫(kù),方便用戶編程。USART 庫(kù)函數(shù)USART庫(kù)函數(shù)包括三種初始化函數(shù),1—缺省值初始化,2—普通初始化,3—結(jié)構(gòu)體類初始化,一般情況下,我們選擇第三種初始化方式
有時(shí)候,我們所寫代碼的具體實(shí)現(xiàn)方法不想讓其他人知道。這時(shí),可以用Keil對(duì)代碼進(jìn)行封庫(kù)。注意:在封庫(kù)之前,必須確保整個(gè)工程代碼能夠編譯通過(guò)。下面舉例說(shuō)明操作步驟:想要把工程中“firmware.c”文件封裝成庫(kù)文件
一。開發(fā)環(huán)境和固定庫(kù)版本二。準(zhǔn)備工作三。建立工程模板1. 建立一個(gè)Template的文件夾2.在Template文件夾下建立下面3個(gè)文件夾CORE 用來(lái)存放核心文件和啟動(dòng)文件, OBJ 是用來(lái)存放編譯過(guò)程文件以及 hex 文件, STM32F10
簡(jiǎn)介不同的開發(fā)板的原理圖結(jié)構(gòu)也不盡相同,筆者在這里使用野火的MINI-V3(F103VET6)簡(jiǎn)易開發(fā)板對(duì)GPIO口的設(shè)置做一個(gè)簡(jiǎn)單的介紹,并實(shí)現(xiàn)按鍵控制LED燈的亮滅。方便讀者可以快速熟悉并靈活應(yīng)用。原理圖分析首先我們來(lái)
1、創(chuàng)建的cJSON對(duì)象root,沒(méi)有cJSON_Delete(root);執(zhí)行一次就死機(jī)了2、cJSON解析的root得到的字符串char *str,free(str),執(zhí)行n次后就返回信息錯(cuò)誤了。改成myfree(str)后運(yùn)行正常了。
STM32中GPIO的配置風(fēng)格和以往研究的MCU有很大的不同,研究了好一段時(shí)間才搞通。typedef enum{ GPIO_Mode_AIN = 0x0,GPIO_Mode_IN_FLOATING = 0x04,GPIO_Mode_IPD = 0x28,GPIO_Mode_IPU = 0x48,GPIO_Mode_Out_OD = 0x
當(dāng)從虛擬串口到真實(shí)串口發(fā)數(shù)據(jù)時(shí),沒(méi)有錯(cuò)誤,但發(fā)送一個(gè)稍微大一點(diǎn)的文件時(shí)(如1M),誤碼率很高。不知是為什么?其中:int main(void){#ifdef DEBUG debug();#endif Set_System(); Set_USBClock(); USB_Interrupts
首先來(lái)看模塊圖在某寶上一搜就能找到,關(guān)于它的使用也是非常簡(jiǎn)單,先看數(shù)據(jù)手冊(cè)里面需要注意的幾點(diǎn)1 基本的參數(shù)在實(shí)際測(cè)試當(dāng)中,最大測(cè)量三米多的距離還是可以,最小距離我沒(méi)有做測(cè)試,我測(cè)的最小距離是50厘米,再往
STM32和ST-link仿真器的接口連接,采用SWD模式
上圖的最右端為I/O引腳,左端的器件位于芯片內(nèi)部。I/O并聯(lián)了兩個(gè)用于保護(hù)的二極管。注:部分圖片內(nèi)容來(lái)自《STM32庫(kù)開發(fā)實(shí)戰(zhàn)指南》
脈沖調(diào)制(PWM)是利用微處理器對(duì)數(shù)字輸出來(lái)對(duì)模擬電路的一種非常有效的技術(shù)。簡(jiǎn)單點(diǎn)說(shuō)就是對(duì)確定頻率的信號(hào),調(diào)整其占空比。stm32的定時(shí)器除了TIM6和TIM7外,其他定時(shí)器都可以產(chǎn)生PWM輸出。其中高級(jí)定時(shí)器TIM1和TIM
1、NVIC_InitStructure結(jié)構(gòu)體在misc.h文件中進(jìn)行定義,編程時(shí)可查看。關(guān)于NVIC的函數(shù)都在misc.h文件中進(jìn)行定義。2、中斷服務(wù)函數(shù)入口名稱在startup_stm32f10x_hd.s文件中。3、 中斷結(jié)構(gòu)參數(shù)NVIC_InitStructure.NVIC_