
FatFS文件系統(tǒng)包含了文件ff.h :文件系統(tǒng)實(shí)現(xiàn)頭文件,定義有文件系統(tǒng)所需的數(shù)據(jù)結(jié)構(gòu)diskio.h :底層驅(qū)動(dòng)頭文件,就一些狀態(tài)宏的定義和底層驅(qū)動(dòng)函數(shù)的申明integer.h:僅實(shí)現(xiàn)數(shù)據(jù)類型重定義,增加系統(tǒng)的可移植性ffconf.
此項(xiàng)功能是用來(lái)控制一個(gè)輸出波形,或者指示一段給定的的時(shí)間已經(jīng)到時(shí)。當(dāng)計(jì)數(shù)器與捕獲/比較寄存器的內(nèi)容相同時(shí),輸出比較功能做如下操作:● 將輸出比較模式(TIMx_CCMRx寄存器中的OCxM位)和輸出極性(TIMx_CCER寄存器
一些產(chǎn)品,當(dāng)系統(tǒng)復(fù)位后(非上電復(fù)位),可能要求保持住復(fù)位前RAM中的數(shù)據(jù),用來(lái)快速恢復(fù)現(xiàn)場(chǎng),或者不至于因瞬間復(fù)位而重啟現(xiàn)場(chǎng)設(shè)備。而keil mdk在默認(rèn)情況下,任何形式的復(fù)位都會(huì)將RAM區(qū)的非初始化變量數(shù)據(jù)清零。
今天調(diào)試了stm32f407的ADC,一切順利,然而用串口發(fā)送ADC 結(jié)果時(shí)都是16進(jìn)制數(shù),看著很不爽。于是打算用用牛B 的“printf”函數(shù),按照以前的做法,在main 文件中添加了“stdio.h”,寫好了“printf”函數(shù),沏杯茶,打
一、FreeRTOS中斷設(shè)置介紹FreeRTOSConfig.h中定義了兩個(gè)宏,分別是:configKERNEL_INTERRUPT_PRIORITYconfigMAX_SYSCALL_INTERRUPT_PRIORITYconfigKERNEL_INTERRUPT_PRIORITY用來(lái)設(shè)置RTOS內(nèi)核自己的中斷優(yōu)先級(jí)。因?yàn)?/p>
繼做了CAN實(shí)驗(yàn)后,繼續(xù)進(jìn)行第16個(gè)實(shí)驗(yàn)-SST25VF016BSPI實(shí)驗(yàn),此實(shí)驗(yàn)利用SPI1來(lái)調(diào)試2M的FLASH-SST25VF016B,通過(guò)向SST寫入特定的一個(gè)字符串后,然后再讀出來(lái),最后一一判斷,如果沒(méi)有差錯(cuò)的話,就證明是正確的了,否則就
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;表面意思是輸出控制極性為高,但是意思是定時(shí)器輸入0,不反相,輸出0;輸出控制極性為低,定時(shí)器輸入0,反相輸出1;CC1E控制開(kāi)關(guān)。#define TIM_OCPolarit
使用MDK 4.74向STM32下載時(shí)出現(xiàn)各種錯(cuò)誤,而且時(shí)隱時(shí)現(xiàn),Internal command error.Error:Flash download failed. Target DLL has been cancelled.最初的解決方法就是讓STM32不采用外部供電而是讓下載器直接供電,同時(shí)
時(shí)鐘作為芯片的心臟,芯片依靠時(shí)鐘維持運(yùn)動(dòng)的狀態(tài)。stm32的延時(shí)函數(shù),依賴滴答定時(shí)器,獨(dú)立的提供延時(shí)。滴答定時(shí)器:時(shí)鐘是由HCLK經(jīng)過(guò)8分頻來(lái)作為小心臟的。假設(shè)HCLK時(shí)鐘為72MHz,8分頻后,滴答定時(shí)器頻率為9MHz,即
1.關(guān)于ADC輸入通道與GPIO口的輸入關(guān)系需要查看STM32芯片手冊(cè)(p31)而非數(shù)據(jù)手冊(cè)。2.外部觸發(fā)源指的是觸發(fā)ADC采樣的觸發(fā)信號(hào),這與1的GPIO口輸入是兩個(gè)不同概念。而JEXTBEL[2:0]或者EXTBEL[2:0]決定具體是哪個(gè)觸發(fā)源
最近看了下STM32 CAN 通訊 其中標(biāo)示符過(guò)濾器設(shè)置大有講究。特別是你要使用ST庫(kù)函數(shù)時(shí),當(dāng)過(guò)濾器工作在屏蔽模式下,并且你把屏蔽位設(shè)了1也就是標(biāo)示符對(duì)應(yīng)位必須全部匹配才能通過(guò),這是由其要小心。舉個(gè)例子吧,過(guò)濾器
因?yàn)橐?,學(xué)習(xí)了一下SPI操作SD卡,同時(shí)移植了一個(gè)免費(fèi)開(kāi)源的FAT文件系統(tǒng):FatFS。感覺(jué)挺好,在單片機(jī)上實(shí)現(xiàn)了讀寫文件的操作,接下來(lái)就可以解釋我的G代碼咯! 我的SD卡底層操作參考了網(wǎng)上幾種常見(jiàn)的代碼,但又對(duì)
一、用STM32控制TFTLCD顯示的編程方法,在編程驅(qū)動(dòng)TFTLCD液晶顯示器之前,我們先熟悉以下概念:1、色彩深度,這是一個(gè)與TFTLCD顯存對(duì)應(yīng)的概念;所謂色彩深度就是每個(gè)像素點(diǎn)需要多少位的RGB 數(shù)據(jù)表示該點(diǎn)的顏色信息。
先說(shuō)明一下,開(kāi)發(fā)平臺(tái)win7,工具RVMDK(keil),硬件stm32f103ve,打印到超級(jí)終端前兩天開(kāi)始關(guān)注一下一直被擱在一邊的printf。。。其實(shí)應(yīng)該有一個(gè)月前就有看了一下,調(diào)用C語(yǔ)言官方庫(kù),實(shí)現(xiàn)可變參數(shù)printf向串口打印字符
采用adc1的通道10,將采集到的電壓值用485發(fā)送給PC顯示,先上原理圖,源代碼見(jiàn)附件,這里想說(shuō)的是幾個(gè)要注意的問(wèn)題:1,ad輸入的電壓經(jīng)過(guò)了R42和R44進(jìn)行分壓,所以pc顯示的電壓值將會(huì)減半,2、采用這個(gè)函數(shù)進(jìn)行發(fā)送數(shù)
1.stm32有AHB,APB2,APB1總線。 其中APB2外設(shè)地址空間是從0x40010000至0x40013FFF地址。第一個(gè)地址稱為基地址。2.參考手冊(cè)中端口配置寄存器有地址偏移0x04,所以GPIOC_CRH地址為GPIOC_BASE+0x04 GPIO_TypeDef結(jié)構(gòu)體
#include"usart1.h"//#include //加載MDK 自帶的 C 函數(shù)D:KeilC51INC//串口1 配置void USART1_Config(void){GPIO_InitTypeDef GPIO_InitStructure; //定義結(jié)構(gòu)體// 結(jié)構(gòu)體內(nèi)容在stm32f10x_gpio.h101行//見(jiàn)庫(kù)函數(shù) P12
DAC模塊的通道1來(lái)輸出模擬電壓,其詳細(xì)設(shè)置步驟如下:1)開(kāi)啟PA口時(shí)鐘,設(shè)置PA4為模擬輸入。STM32F103ZET6的DAC通道1是接在PA4上的,所以,我們先要使能PORTA的時(shí)鐘,然后設(shè)置PA4為模擬輸入(雖然是輸入,但是STM32內(nèi)
相關(guān)經(jīng)驗(yàn)及心得如下: 摘要:1.在配置USART的TX完成中斷后,在沒(méi)有發(fā)數(shù)的情況下自動(dòng)進(jìn)入TX完成中斷函數(shù)。2 .在TX配置完成后,相應(yīng)的TC標(biāo)志位會(huì)自動(dòng)置1,隨后就進(jìn)入了TX完成中斷。3.相關(guān)配置程序編寫無(wú)誤,并已經(jīng)開(kāi)啟
1、安裝MDK環(huán)境,下載程序的第三方軟件mcuisp。 BOOT0開(kāi)關(guān)撥到VCC、自動(dòng)搜索串口、開(kāi)始編程按鈕,如果程序下載成功后則會(huì)打印出下面紅色框中的信息、程序下載成功之后,需要將BOOT0開(kāi)關(guān)撥到GND,然后按下我們的復(fù)位