
一、簡(jiǎn)單demo通過(guò)232串口,與上位機(jī)進(jìn)行通信。首先保證單片機(jī)232串口與電腦的串口接口相連,當(dāng)然電腦是USB接口,其實(shí)USB接口的實(shí)質(zhì)也是串口。我們實(shí)現(xiàn)上位機(jī)發(fā)送一個(gè)16進(jìn)制的數(shù)據(jù),單片機(jī)接受到數(shù)據(jù)后顯示,并且2倍發(fā)
1. STM32的時(shí)鐘系統(tǒng)在STM32中,一共有5個(gè)時(shí)鐘源,分別是HSI、HSE、LSI、LSE、PLL(1)HSI是高速內(nèi)部時(shí)鐘,RC振蕩器,頻率為8MHz;(2)HSE是高速外部時(shí)鐘,可接石英/陶瓷諧振器,或者接外部時(shí)鐘源,頻率范圍是4MHz –
IAP的源碼等資料我上傳了,壓縮包內(nèi)有12個(gè)文件,,http://download.csdn.net/detail/f907279313/7524849(要積分的辛苦收集的你們就給點(diǎn)積分吧)還有另一篇博客總結(jié)的IAP:http://blog.csdn.net/super_demo/article/
分類(lèi):1 ROM (EPROM、EEPROM、NOR_Flash、NAND_Flash) 只讀存儲(chǔ)器,斷電后數(shù)據(jù)保存,以前ROM是只能讀取,不能擦寫(xiě)的,隨著技術(shù)的發(fā)展,flash逐漸取代了rom,但功能上還沿用了rom的作用,所以把它歸為rom類(lèi)。 2 RAM (
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ù)類(lèi)型重定義,增加系統(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”,寫(xiě)好了“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寫(xiě)入特定的一個(gè)字符串后,然后再讀出來(lái),最后一一判斷,如果沒(méi)有差錯(cuò)的話(huà),就證明是正確的了,否則就
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ù),依賴(lài)滴答定時(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)了讀寫(xiě)文件的操作,接下來(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總線(xiàn)。 其中APB2外設(shè)地址空間是從0x40010000至0x40013FFF地址。第一個(gè)地址稱(chēng)為基地址。2.參考手冊(cè)中端口配置寄存器有地址偏移0x04,所以GPIOC_CRH地址為GPIOC_BASE+0x04 GPIO_TypeDef結(jié)構(gòu)體