
最近因項目需求要實現(xiàn)STM32的在線升級即IAP功能,先將這幾天的學(xué)習(xí)體會和IAP的具體實現(xiàn)總結(jié)出來,分享給大家,希望對同樣實現(xiàn)IAP的童鞋有所幫助,文中最后會上傳名為STM32_Update.zip的壓縮文件里面包含了STM32_App、
玩STM32,J-LINK仿真器固然很好,不夠J-Link價格昂貴,還好STM32內(nèi)部自帶Bootloader,可以串口下載程序。本人覺得串口下載方式簡潔,廉價,就一個USB-TTL轉(zhuǎn)換器即可完成。 一.首先在能正常工作的最小系統(tǒng)板,開發(fā)板上
說的直白點就是以下區(qū)別,在選擇啟動文件的時候有選擇性區(qū)別!startup_stm32f10x_cl.s互聯(lián)型的STM32F105xx,STM32F107xxstartup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F102xx,STM32F103xxstartup_stm32f10x_hd
[cpp] view plaincopyprint?#include #include "usbreg.h" #include "usbcore.h" #include "usbuser.h" #include "usbcfg.h" #include "usb.h" #include "usb_hw.h" #include "usbdesc.h" #include "hid.h" #includ
stm32可選的時鐘源在STM32中,可以用內(nèi)部時鐘,也可以用外部時鐘,在要求進度高的應(yīng)用場合最好用外部晶體震蕩器,內(nèi)部時鐘存在一定的精度誤差。準(zhǔn)確的來說有4個時鐘源可以選分別是HSI、LSI、HSE、LSE(即內(nèi)部高速,內(nèi)
基于戰(zhàn)艦開發(fā)板 修改的可以對頻率和占空比同時調(diào)節(jié)的一個簡單程序。voidTIM3_PWM_Init(u16arr,u16psc){GPIO_InitTypeDefGPIO_InitStructure;TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;TIM_OCInitTypeDefTIM_OCI
在main()中ch1_open();delay_ms(1000);ch2_open();delay_ms(1000);ch3_open();delay_ms(1000);ch4_open();delay_ms(1000);在timer.c中添加了//開啟通道一,同時關(guān)閉通道二三四void ch1_open(void){TIM3->CCER|=(1
STM32中定時器3為例。重點是Full remap和Partial remap的理解。1.管腳功能圖。2.完全復(fù)用和部分復(fù)用說明。3.相關(guān)配置說明,時鐘說明AFIO和管腳復(fù)用FullRemap。
關(guān)于STM32中 printf 與 scanf 的重定向問題在此我僅對不使用 "USE MircoLIB" 的情況做整理(針對Keil RVMDK開發(fā)環(huán)境)。① :首先需要在 usart.h 中包含 “stdio.h” 頭文件② :在 usart.c 中,加入如下代碼塊,以此
?芯片擦除成功,但板子不能運行 沒有出現(xiàn) Application running原因如圖所示左上方的Reset and Run 沒有勾選。操作路徑為: options for target ---> Utilities ---->Setting 即可關(guān)鍵步奏就正常了;小結(jié):當(dāng)出現(xiàn)一定
對于我這種以前只接觸過51和AVR單片機編程的小菜來說,現(xiàn)在開始學(xué)習(xí)STM32的編程,對于函數(shù)的功能以及C語言的語法都還好理解,難的是它提供的那一套硬件抽象層(HAL)驅(qū)動是怎么和其他的東東搭配在一起組成一個又
今天講解“STM32F103 BKP備份數(shù)據(jù)”,關(guān)于“BKP備份數(shù)據(jù)”這一塊的知識不難,但還是需要注意幾點。BKP顧名思義就是備份寄存器(見參考手冊),主要用于備份數(shù)據(jù)使用的。我的文章與網(wǎng)上其他文章不同之處在于:1.提供講解
在STM32要使用JTMS(PA13)、JTCK(PA14)作為普通I/O口的時候,要在初始化前添加如下代碼(順序不能顛倒):RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);以下兩句二選一:使用GPIO_Remap_SWJ_Disable就不能
1 /**2 * @brief 寫一個字節(jié)到I2C設(shè)備中3 * @param 4 * @arg pBuffer:緩沖區(qū)指針5 * @arg WriteAddr:寫地址6 * @retval 正常返回1,異常返回07 */8 uint8_t I2C_ByteWrite(u8 pBuffer, u8 WriteAddr)9
每個GPIO端口有兩個32位配置寄存器(GPIOx_CRL,GPIOx_CRH)分別控制每個端口的高八位和低八位,如果IO口是0-7號的話,則寫CRL寄存器,如果IO口是8-15號的話,則寫CRH寄存器,兩個32位數(shù)據(jù)寄存器(GPIOx_IDR,GPIOx_ODR
本人在網(wǎng)上也看到了好多說,按照以下步驟可以解決問題,但是不幸的是我的盜版系統(tǒng)不行:將mdmcpq.inf復(fù)制到c:\\windows\\inf將usbser.sys復(fù)制到c:\\windows\\system32\\drivers但是,還是借助于這個思路去找一些原因最后發(fā)
一,在進入主題之前我們先了解一些必要的基礎(chǔ)知識----stm32系列芯片的種類和型號:startup_stm32f10x_cl.s互聯(lián)型的器件,STM32F105xx,STM32F107xxstartup_stm32f10x_hd.s大容量的STM32F101xx,STM32F102xx,STM32F1
1.什么是JTAG接口?從感官上看,JTAG接口就是上圖中的藍(lán)色的那個20PIN的牛角座。2.JTAG接口的作用?1) 給單片機下載程序。2) 在線調(diào)試單片機,例如單步調(diào)試、斷電調(diào)試、看寄存器值等等。3.STM32的JTAG接口需要在外部
小容量產(chǎn)品是指閃存存儲器容量在16K至32K字節(jié)之間的STM32F101xx、STM32F102xx和STM32F103xx微控制器。中容量產(chǎn)品是指閃存存儲器容量在64K至128K字節(jié)之間的STM32F101xx、STM32F102xx和STM32F103xx微控制器。大容量產(chǎn)品
1.串口的基本概念在STM32的參考手冊中,串口被描述成通用同步異步收發(fā)器(USART),它提供了一種靈活的方法與使用工業(yè)標(biāo)準(zhǔn)NRZ異步串行數(shù)據(jù)格式的外部設(shè)備之間進行全雙工數(shù)據(jù)交換。USART利用分?jǐn)?shù)波特率發(fā)生器提供寬范圍