Keil巨集定義和如何知道微控制器資源名稱

2021-07-26 19:03:38 字數 1087 閱讀 5999

在keil的工程設定中需要根據所選微控制器來更改巨集定義,如果程式移植後,巨集定義沒有更改過去,有時候會報錯。

這個巨集定義代表了晶元的型別,如下:

因此需要根據自己晶元的型別,更改巨集定義。

如何知道自己晶元的資源名稱呢?比如定時器叫什麼名字?

可以開啟stm32f10x.h檔案,往下拉可以看見:

這些巨集定義代表:

stm32f10x_ld_vl 對應於 lowdensity valueline,即小容量的stm32f100

stm32f10x_md_vl 對應於 mediumdensity valueline,即中等容量的stm32f100

stm32f10x_hd_vl 對應於 highdensity valueline,即大容量的stm32f100

stm32f10x_cl 對應於 connectivityline,即stm32f105、stm32f107

其實更常用的是stm32f103:

stm32f10x_ld 對應於 lowdensity ,即小容量的stm32f103、101

stm32f10x_md 對應於 mediumdensity ,即中等容量的stm32f103、101

stm32f10x_hd 對應於 highdensity ,即大容量的stm32f103、101

比如晶元是stm32f103c8t6,flash是64k,是中等容量的stm32f103,即stm32f10x_md ,因此對應到stm32f10x.h檔案下的:

可知到,該晶元有tim2、tim3、tim4三個普通定時器,有tim1乙個高階定時器,串列埠有三個。。。

keil和微控制器

如何在keil上除錯程式,微控制器匯程式設計序的高效率,如何估計程式所用ram的大小。將系統移植到微控制器上需要考慮的諸多問題,如重入性,堆疊分配,外存使用,中斷操作等。比如串列埠操作,當多個任務需要使用串列埠時,需要各任務互斥使用串列埠傳送資料。各任務可以通過訊號量機制 互斥使用串列埠傳送接收緩衝...

微控制器 keil流水燈實驗

做流水燈實驗以前,必須先弄清楚各個發光二極體是怎麼控制的,其次,在了解了keil的內部左移右移函式,就可以寫出比較簡短的流水燈的實驗 在寫的過程中遇到過一些問題,怎麼控制燈的走向,應該用乙個怎麼樣的變數來實現傳遞,這個很重要。解決的方法是定義乙個unsigned char型變數。此外還要寫乙個延時函...

如何學習微控制器

在網上看到很多人想學微控制器。定義 先介紹下,什麼是微控制器,純屬個人定義,為了更好的理解 就是乙個整合度很高的,可以通過在裡面編寫程式,呼叫裡面的一些資源,然後實現想要的功能晶元,裡面整合了很多功能,如ad da 串列埠等雜七雜八的因晶元而異。如何學 一本基本的教材是必不可免的,普通51的就可以了...