關(guān)于STM32F1系列單片機(jī)的一個常識:看上圖得知,根據(jù)Flash存儲器的大小,把STM32F1分為了4種類型,分別是“低密度”“中密度”“高密度”“超高密度”,然后還有一種“互聯(lián)型”。我們使用的STM32F103VET6的FLASH大小
首先要注意所用到的USART是否用到了復(fù)用功能千萬別忘了打開復(fù)用時鐘?。。。。。。。?!代碼如下:Hello! everyone,welcome to class!#includevoid delay_ms(u16 x){u8 t;while(x--){for(t=0;t
/*Includes------------------------------------------------------------------*/#include"stm32f10x.h"#include"stm32f10x_exti.h"#include"OV7740.h"#include"OV7740Reg.h"#include"sccb.h"#include"misc.h"#inc
一、實(shí)驗(yàn)?zāi)康?)了解獨(dú)立看門狗的;2)學(xué)會使用獨(dú)立看門狗;3)通過WK_UP來喂狗,然后通過DS0提示復(fù)位狀態(tài)。二、STM32獨(dú)立看門狗簡介單片機(jī)系統(tǒng)在外界的干擾下會出現(xiàn)程序跑飛的現(xiàn)象導(dǎo)致出現(xiàn)死循環(huán), 看門狗電路就是為
1、CRC計算公式 所有的STM32芯片都內(nèi)置了一個硬件的CRC計算模塊,可應(yīng)用到通信程序中,這個CRC計算模塊使用常見的、在以太網(wǎng)中使用的計算多項(xiàng)式:X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 +X8 + X7 + X5 +
/定時器1的配置 輸出兩路PWM信號 PA8 PA11,計數(shù)時鐘為400KHZ 計數(shù)溢出大小為40000 /void Tim1Init(void){GPIO_InitTypeDef GPIO_InitStruct;TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;TIM_OCInitTypeDef TIM_
最近因項(xiàng)目需求要實(shí)現(xiàn)STM32的在線升級即IAP功能,先將這幾天的學(xué)習(xí)體會和IAP的具體實(shí)現(xiàn)總結(jié)出來,分享給大家,希望對同樣實(shí)現(xiàn)IAP的童鞋有所幫助,文中最后會上傳名為STM32_Update.zip的壓縮文件里面包含了STM32_App、
玩STM32,J-LINK仿真器固然很好,不夠J-Link價格昂貴,還好STM32內(nèi)部自帶Bootloader,可以串口下載程序。本人覺得串口下載方式簡潔,廉價,就一個USB-TTL轉(zhuǎn)換器即可完成。 一.首先在能正常工作的最小系統(tǒng)板,開發(fā)板上
說的直白點(diǎn)就是以下區(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)部時鐘,也可以用外部時鐘,在要求進(jìn)度高的應(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為例。重點(diǎn)是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 中,加入如下代碼塊,以此
?芯片擦除成功,但板子不能運(yùn)行 沒有出現(xiàn) Application running原因如圖所示左上方的Reset and Run 沒有勾選。操作路徑為: options for target ---> Utilities ---->Setting 即可關(guān)鍵步奏就正常了;小結(jié):當(dāng)出現(xiàn)一定
對于我這種以前只接觸過51和AVR單片機(jī)編程的小菜來說,現(xiàn)在開始學(xué)習(xí)STM32的編程,對于函數(shù)的功能以及C語言的語法都還好理解,難的是它提供的那一套硬件抽象層(HAL)驅(qū)動是怎么和其他的東東搭配在一起組成一個又
今天講解“STM32F103 BKP備份數(shù)據(jù)”,關(guān)于“BKP備份數(shù)據(jù)”這一塊的知識不難,但還是需要注意幾點(diǎn)。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