1.1.1 使用Keil MDK運(yùn)行第一個(gè)STM32F10X程序在上一小節(jié)中已經(jīng)詳細(xì)介紹了使用Keil MDK和標(biāo)準(zhǔn)外設(shè)庫(kù)創(chuàng)建一個(gè)工程的過(guò)程,下面將介紹基于這個(gè)工程來(lái)編寫(xiě)一個(gè)小程序,通過(guò)這個(gè)程序我們可以初步了解:STM32標(biāo)準(zhǔn)外設(shè)庫(kù)的簡(jiǎn)
如果你要很精確的延時(shí),可以使用定時(shí)器,C語(yǔ)言的定時(shí)比較難計(jì)算,你可以用KEIL里的軟件仿真看看運(yùn)行你的子程序需要多少時(shí)間,這樣是最清楚的了。當(dāng)然,如果你的編程能力已經(jīng)達(dá)到比較高的水平就另一個(gè)說(shuō)法,只要程序簡(jiǎn)
在篇文章中主要講講調(diào)試中斷過(guò)程中獲得的知識(shí),也許會(huì)對(duì)大家有用。大家應(yīng)該都知道在使用S3C2440這塊芯片時(shí),有一個(gè)十分大的問(wèn)題,就是對(duì)于keil軟件自帶的初始化代碼沒(méi)有給全,在初始化代碼中主要做了以
指針是C語(yǔ)言中比較難的一個(gè)內(nèi)容,Keil C51在指針?lè)矫嬗泻蜆?biāo)準(zhǔn)C不一樣的地方,今天看了一些資料學(xué)習(xí)了一下Keil C51 中指針的使用。 keil51的指針,包含兩種指針:普通指針,兼容標(biāo)準(zhǔn)C;內(nèi)存特殊指針 1普通指
本文檔包括單片機(jī)系統(tǒng)中常用到的時(shí)鐘中斷、通訊及鍵盤掃描等模塊(見(jiàn)所附源程序)的說(shuō)明。這些模塊使用前后臺(tái)系統(tǒng)模型。為達(dá)到最大的靈活性,需要在用戶工程中定義config.h文件,在其中定義各模塊可選參數(shù)的設(shè)置,而不是
步驟與圖示:1.先給個(gè)CPU的數(shù)據(jù),需要注意的是三個(gè)紅圈的地方,架構(gòu),型號(hào),F(xiàn)lash和SRAM大小如圖1(STM32F107VC 256KB FLASH,64KB SRAM)圖12.Target的設(shè)置1)勾上可以用微庫(kù),減小生成代碼的大小2,3)分別定義ROM區(qū)位
第一步,要有C51編譯器文件(就是Keil目錄下的C51文件夾),可以通過(guò)安裝Keil uVison4 for C51來(lái)獲得(當(dāng)然不要忘記事后卸載),或者去已經(jīng)安裝好的電腦上復(fù)制一份。第二步,安裝Keil uVision4 for ARM,這個(gè)不解釋。
interrupt 函數(shù)屬性當(dāng)包含在一個(gè)聲明中指定函數(shù)為一個(gè)中斷函數(shù)例如unsigned int interruptcnt;unsigned char second;void timer0 (void) interrupt 1 using 2{ if (++interruptcnt == 4000) { /* count to 4000 */
在前面的幾講中我們介紹了工程的建立方法,常用的調(diào)試方法,除此之外,Keil 還提供了一些輔助工具如外圍接口、性能分析、變量來(lái)源分析、代碼作用分析等,幫助我們了解程的性能、查找程序中的隱藏錯(cuò)誤,快速查看程序變
對(duì)于單片機(jī)程序來(lái)說(shuō),每個(gè)功能程序,都必須要有一個(gè)配套的工程(Project),即使是點(diǎn)亮 LED 這樣簡(jiǎn)單的功能程序也不例外,因此我們首先要新建一個(gè)工程,打開(kāi)我們的 Keil 軟件后,點(diǎn)擊:Project-->New uVision Projec
keil MDK版本:V4.03PC-lint版本: V8.0關(guān)于pc-lint的強(qiáng)大作用,網(wǎng)上有很多,這里不想再?gòu)?fù)述,只說(shuō)一句:能通過(guò)pc-lint檢驗(yàn)的程序不一定沒(méi)有問(wèn)題,但通過(guò)了pc-lint檢驗(yàn)的程序,質(zhì)量的提高也是不言而喻的。首先安裝ke
C 語(yǔ)言常用的延時(shí)方法,有如圖4-2所示4種。圖2-4 C 語(yǔ)言延時(shí)方法圖2-4是 C 語(yǔ)言編程常用的4種延時(shí)方法,其中兩種非精確延時(shí),兩種精確一些的延時(shí)。for 語(yǔ)句和 while 語(yǔ)句都可以通過(guò)改變 i 的范圍值來(lái)改變延時(shí)時(shí)間,但
單片機(jī)開(kāi)發(fā)中除必要的硬件外,同樣離不開(kāi)軟件,我們寫(xiě)的匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程
原來(lái)一直在用3.3 的固件庫(kù),3.4 的出來(lái)好久了 也沒(méi)顧得上更新如今的3.5 的庫(kù)再也忍不住了,建好了個(gè)新的V3.5的工程模板 用的是最新的MDK4.20 .3.5 到3.3 對(duì)于一般用戶而言 基本沒(méi)有什么 界面的上變革 目前看來(lái)好像僅僅
集成開(kāi)發(fā)環(huán)境(IDE):Keil公司的RealView MDK(uVision V4.10)源文件編輯器:EditPlus(我在用的)/UltraEdit/SourceInsight/IDE自帶的編輯器串口工具:SecureCRT(一個(gè)專業(yè)的超級(jí)終端工具,支持很多接口(包括串口)和
Keil c51號(hào)稱作為51系列單片機(jī)最好的開(kāi)發(fā)環(huán)境,大家一定都很熟悉。它的一些普通的特性大家也都了解,(書(shū)上也都說(shuō)有)如:因?yàn)?1內(nèi)的RAM很小,C51的函數(shù)并不通過(guò)堆棧傳遞參數(shù)(重入函數(shù)除外),局部變量也不存儲(chǔ)在堆
1. Warning 280:’i’:unreferenced local variable說(shuō)明局部變量i 在函數(shù)中未作任何的存取操作。解決方法消除函數(shù)中i 變量的宣告。2. Warning 206:’Music3’:missing function-prototype說(shuō)明Music3( )函數(shù)未作宣告
有時(shí)候,我們所寫(xiě)代碼的具體實(shí)現(xiàn)方法不想讓其他人知道。這時(shí),可以用Keil對(duì)代碼進(jìn)行封庫(kù)。注意:在封庫(kù)之前,必須確保整個(gè)工程代碼能夠編譯通過(guò)。下面舉例說(shuō)明操作步驟:想要把工程中“firmware.c”文件封裝成庫(kù)文件
現(xiàn)在的存儲(chǔ)器已經(jīng)不像七八年前那樣昂貴了,但是ram相對(duì)于rom和eeprom的價(jià)格還是不可同樣看待的,所以程序中節(jié)省內(nèi)存在現(xiàn)在看來(lái)還是非常關(guān)鍵的。原因有以下幾點(diǎn):1.ram的存取速度相對(duì)于eeprom的存取速度要快很多倍,不
上一講中我們學(xué)習(xí)了幾種常用的程序調(diào)試方法,這一講中將介紹Keil提供各種窗口如輸出窗口、觀察窗口、存儲(chǔ)器窗口、反匯編窗口、串行窗口等的用途,以及這些窗口的使用方法,并通過(guò)實(shí)例介紹這些窗口在調(diào)試中的使用