由于我的J-LINK 壞了,新買(mǎi)的還沒(méi)到,就用串口工具進(jìn)行下載。信息提示框提示下載內(nèi)容不在0x08000000 與0x20000000范圍內(nèi),即不在程序FLASH或SRAM上。而讀器件信息,清除芯片就沒(méi)問(wèn)題,表示我的串口下載工具沒(méi)有問(wèn)題。
最近用到的溫濕度傳感器,AM2305驅(qū)動(dòng),單總線,上電后至少要延時(shí)2S才能讀取溫濕度,溫度精度很高,跟DS18B20一樣,數(shù)據(jù)帶校驗(yàn),不會(huì)出現(xiàn)DS18B20那樣,并且時(shí)序要求不高/***************************************************
串口記錄: STM32有好幾個(gè)串口。比如說(shuō)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是一款開(kāi)源的嵌入式網(wǎng)絡(luò)協(xié)議棧,支持的功能很多,而且能在多任務(wù)環(huán)境下和單任務(wù)裸機(jī)環(huán)境下跑,今天說(shuō)說(shuō)他的移植過(guò)程,芯片為STM32,網(wǎng)卡為ENC28J60,無(wú)操作系統(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
stm32 HardFault_Handler調(diào)試及問(wèn)題查找方法STM32出現(xiàn)HardFault_Handler故障的原因主要有兩個(gè)方面:1、內(nèi)存溢出或者訪問(wèn)越界。這個(gè)需要自己寫(xiě)程序的時(shí)候規(guī)范代碼,遇到了需要慢慢排查。2、堆棧溢出。增加堆棧的大小。
1、基本的GPIO配置,注意,因?yàn)樾枰玫狡胀↖O口作為中斷輸入口,因此是用了IO口德復(fù)用功能,因此必須打開(kāi)RCC_APB2Periph_AFIO時(shí)鐘,負(fù)責(zé)復(fù)用IO無(wú)效。2、IO口復(fù)用功能映射3、嵌套中斷向量配置調(diào)試發(fā)現(xiàn)這幾句話是必須
1 __set_PRIMASK(1);//關(guān)總中斷23 /************4 **********/5 __set_PRIMASK(0);//開(kāi)總中斷
一、使用復(fù)用功能(AF)時(shí),要對(duì)端口位配置寄存器進(jìn)行編程。1)對(duì)于復(fù)用的輸入功能,配置必須為上拉/下拉或者浮空;2)對(duì)于復(fù)用輸出功能,配置必須為復(fù)用功能輸出模式(推挽,開(kāi)漏)。對(duì)于雙向復(fù)用功能,必須配置為復(fù)
一、RCC_AHBPeriphClockCmd函數(shù)其中RCC_AHBPeriph的取值范圍:二、RCC_APB2PeriphClockCmd函數(shù)其中RCC_APB2Periph的取值范圍:GPIOx[0-15]、高級(jí)定時(shí)器TIM1,TIM8,高速SPI1,高速異步通信USART1,ADC1,ADC2
在MDK環(huán)境下,終于將3.90版本的UCGUI移植到STM32下了,在網(wǎng)上看到的都是例程代碼,很少看到有關(guān)于在STM32下移植UCGUI的教程方法,為了方便大家,特寫(xiě)此移植方法,大家可以借鑒(有錯(cuò)誤之處,望大家指點(diǎn)出來(lái)共同討論!
我們經(jīng)常會(huì)使用STM32 ADC功能測(cè)試外部電壓,在一些精度不高的場(chǎng)合,我們一般就用3.3V作為參考電壓來(lái)計(jì)算測(cè)到的電壓值。不過(guò),這種情況很少見(jiàn),可能只有單片機(jī)學(xué)習(xí)板才會(huì)這樣使用。因?yàn)槲覀兪褂玫?.3V穩(wěn)壓芯片,很少有
Systick :系統(tǒng)心跳定時(shí)器,提供系統(tǒng)節(jié)拍裸機(jī)程序中可作為獨(dú)立的延時(shí)定時(shí)器用途:1.產(chǎn)生操作系統(tǒng)的時(shí)鐘節(jié)拍2.便于不同處理器之間程序移植SysTick定時(shí)器被捆綁在NVIC中,異常號(hào)153.作為一個(gè)鬧鈴測(cè)量時(shí)間用于測(cè)量時(shí)間,但當(dāng)
1.不要太相信stm32內(nèi)部的IO上下拉,必要的話,在外部接上下拉電阻。2.當(dāng)把JTAG的IO口當(dāng)成普通IO口來(lái)使用時(shí),要先禁止JTAG。即:要使用到PB3、PB4、PA13、PA14、PA15時(shí),要先禁止JTAG。在庫(kù)函數(shù)中,調(diào)用一下函數(shù):GPIO
一、wm_redraw.c移植我在上一篇筆記中講過(guò)如何將ucGUI移植到STM32上開(kāi)發(fā)裸機(jī)程序。在本篇筆記中分析一下wm_redraw.c的移植及源碼。首先打開(kāi)移植好的ucGUI工程文件,然后將ucGUI\\Sample\\GUI目錄下WM_Redraw.c文件中的
以stm32的TIM2作為例,將其配置成為普通的定時(shí)器,計(jì)時(shí)時(shí)間到即觸發(fā)中斷。1:對(duì)定時(shí)器的基本配置先聲明一個(gè)定時(shí)器配置用的結(jié)構(gòu)體變量TIM_TimeBaseStructure,具體可以參考STM32提供的TIM庫(kù)TIM_TimeBaseStructure.TIM
對(duì)于STM32來(lái)說(shuō)軟件復(fù)位有兩種方式:1)采用官方自帶的軟件庫(kù)在官方軟件庫(kù)的stm32f10x_nvic.c 文件里 直接提供了 系統(tǒng)復(fù)位的函數(shù)/********************************************************************************
當(dāng)SYSCLK等于72M,APB1等于36MAPB2等于72M時(shí),定時(shí)器的時(shí)鐘為72M。注意圖中這句話:如果APB1/APB2預(yù)分頻器=1則頻率不變,否則頻率x2。如果此時(shí),APB1分頻2,則PCLK1的外部時(shí)鐘為36M,此時(shí)的定時(shí)器時(shí)鐘x2為72M;APB2分
Ⅰ、寫(xiě)在前面學(xué)習(xí)本文之前可以查看我前面的文章:STM32CubeMX介紹、下載與安裝STM32CubeMX使用方法及功能介紹STM32CubeMX新建工程+基本IO配置過(guò)程本文接著前面STM32CubeMX文章結(jié)合USART實(shí)例,講述關(guān)于STM32CubeMX新建
今天在寫(xiě)SysTcik_Handler()這個(gè)中斷函數(shù)時(shí),總是報(bào)錯(cuò),明明在開(kāi)頭定義的全局變量extern u16 ntime,(ntime--寫(xiě)在stm32f10x_it.c的systick中斷函數(shù)中)但是編譯時(shí)總是報(bào)錯(cuò),百度之后才有了解決方法,之前也注意到過(guò)e