第一步:配置時鐘
上一講的程序點亮LED燈并沒有設置stm8的時鐘,但是LED燈依然可以正常閃爍。為使系統快速啟動,復位后時鐘控制器自動使用HSI的8分頻(HSI/8)做為主時鐘。因為HSI的穩定時間短,而8分頻可保證系統在較差的VDD條件下安全啟動。
一旦主時鐘源穩定,用戶程序可將主時鐘切換到另外的時鐘源。
果然一個廠家的,和stm32差不多。
stm8主時鐘有四種時鐘源:
● 1-24MHz高速外部晶體振蕩器(HSE)
● 最大24MHz高速外部時鐘信號(HSE user-ext)
● 16MHz高速內部RC振蕩器(HSI)
● 128KHz低速內部RC(LSI)
各個時鐘源可單獨打開或關閉,從而優化功耗。
時鐘相關寄存器:
內部時鐘寄存器CLK_ICKR中的標志位HSIRDY用以指示HSI RC是否穩定。啟動時, HSI時鐘信號將不會生效直至此標志位被硬件置位。
HSI RC可通過設置內部時鐘寄存器CLK_ICKR中的HSIEN位打開或關閉。
void System_Init(void)
{
CLK_SWR = 0xE1; //選擇高速內部時鐘HSI為主時鐘 可不要這話
CLK_ICKR |= 0x01; //高速內部HSI時鐘使能
while(!(CLK_ICKR&0x03)); //等待內部高速HSI就緒
CLK_CKDIVR = 0x18; // Fhsi = Fhsi = Fcpu = Fmaster = 2MHz
}
這里是選擇HSI 8分頻后作為系統主時鐘。
第二步:配置GPIO
通用輸入/輸出口用于芯片和外部進行數據傳輸。一個IO端口可以包括多達8個引腳,每個引腳可以被獨立編程作為數字輸入或者數字輸出口。另外部分口還可能會有如模擬輸入,外部中斷,片上外設的輸入/輸出等復用功能。但是在同一時刻僅有一個復用功能可以映射到引腳上。復用功能的映射是通過選項字節控制的。請參考數據手冊關于選項字節的描述。每個端口都分配有一個輸出數據寄存器,一個輸入引腳寄存器,一個數據方向寄存器,一個選擇寄存器,和一個配置寄存器。一個I/O口工作在輸入還是輸出是取決于該口的數據方向寄存器。
每一個端口都有一個輸出數據寄存器 (ODR),一個引腳輸入寄存器 (IDR)和一個數據方向寄存器(DDR) 總是同相關的。控制寄存器1(CR1)和控制寄存器2(CR2)用于對輸入/輸出進行配置。
任何一個I/O引腳可以通過對DDR,ODR,CR1 和CR2寄存器的相應位進行編程來配置。
寄存器中的位n對應于口的引腳 n 。
設置PE5為推挽輸出,最大速度10MHZ。
void Gpio_Init(void)
{
PE_DDR |= 0x20; //PE5設置為輸出
PE_CR1 |= 0x20; //PE5設置為推挽輸出
PE_CR2 |= 0x20; //最大輸出速度10MHz
}
至此關于stm8的時鐘和LED連接的GPIO口配置完畢,就可以開始寫主函數了。
int main( void )
{
int i,j;
System_Init(); //初始化系統時鐘
Gpio_Init(); //PE5的GPIO口初始化
while (1)
{
PE_ODR ^= 0x20; //PE5取反
for(i=0;i<100;i++) //延時
for(j=0;j<1000;j++);
}
}
最后編譯--下載仿真,按下鍵盤F5健,LED燈開始閃爍了,那么成功點亮第一個LED 。
上一篇:STM8S 時鐘配置源碼程序
下一篇:STM8S207使用外部24M晶振不起振的解決辦法
推薦閱讀
史海拾趣
Doodle Labs公司成立于2010年代初,由一群熱衷于無線通信和物聯網技術的工程師創立。在成立之初,公司就明確了自己的定位:專注于開發高性能、智能化的無線電技術產品,以滿足日益增長的無人機和物聯網設備的需求。通過不斷的技術研發和創新,Doodle Labs成功推出了其首款智能無線電產品,為無人機提供了穩定、高效的通信解決方案。
在穩固國內市場的同時,柯愛亞積極尋求海外市場的發展機會。公司不僅參加了多個國際電子展覽會,還與國際知名企業建立了合作關系。此外,柯愛亞還通過投資、并購等方式,不斷拓展業務范圍,實現了多元化發展。這些舉措使柯愛亞在國際市場上的影響力逐漸增強。
近年來,網絡游戲市場呈現出蓬勃發展的態勢,C-MEDIA公司也看到了其中的商機。于是,公司通過收購C&C Media,進一步深入日本網絡游戲市場。這次收購不僅幫助C-MEDIA公司把握了該市場的成長機遇,也有效地拓展了其海外運營實力。C&C Media旗下的網絡游戲門戶網站“MK-STYLE”為個人用戶提供了豐富的網絡游戲服務,進一步鞏固了C-MEDIA在網絡游戲領域的市場地位。
隨著全球市場的不斷擴大,Captive Fastener公司意識到國際合作的重要性。公司積極尋求與國際知名電子制造商的合作機會,通過提供高質量的緊固件產品和技術支持,成功打入國際市場。同時,公司還與國外同行開展技術交流與合作,不斷提升自身的技術水平和市場競爭力。
隨著電子行業的快速發展,Adam Tech意識到只有不斷創新才能在激烈的市場競爭中立于不敗之地。因此,公司加大了對研發的投入,不斷推出具有創新性的電子連接器產品。同時,公司還積極拓展產品線,從最初的插頭、插座逐漸擴展到線束、端子、電纜組件等多個領域。這些舉措不僅提升了公司的市場競爭力,也為客戶提供了更加豐富的選擇。
2008年,對于CONTEC公司來說是具有里程碑意義的一年。這一年,公司建成了康泰產業園(一期),并進一步加強了研發和生產能力。同時,公司技術中心被省發改委等部門確定為省認定企業技術中心,這標志著公司在技術研發和創新方面得到了官方認可和支持。隨著產業園的投入使用,公司的生產規模和效率得到了顯著提升。
前些天被老板發配到了貴州的一個國家級貧困縣,給他們的政府做一個CRM系統項目連帶培訓。我的主啊,這回真見識了國家級貧困縣,全縣城找不到一家有寬帶的賓館,誰知道黃鼠狼專咬病鴨子,到了那地方沒兩天電腦主板燒了,又沒地方修,對于我這個“重 ...… 查看全部問答∨ |
|
上周,TI發布了其新品:ADS4149,單獨拿出哪個指標,這款產品并不是最特殊的,但是將“低功耗”、“250MSPS”、“ 14位 ”、“ADC” 這些字眼結合在一起,卻著實有競爭力。 該款 14 位 ADS4149 擁有 250兆次每秒 (MSPS) 的最高采樣率,與性能 ...… 查看全部問答∨ |
|
TQ2440板子,ov9650攝像頭,用VS2005下的VC++編寫應用程序,如何把OV9650 拍到的圖像保存為BMP格式的文件?需要用到那些函數?如何得到數據緩沖區的地址?下面是部分驅動程序代碼: 1、CIS_IoControl()中的一部分: // for MPEG4 ...… 查看全部問答∨ |
我在SD卡里面創建一個“我們.txt”文件,結果在PC機上看到文件名為“컒쏇.txt”。 創建“我們.txt”文件,并給此文件里面寫一段中文,里面的中文都很正常。就是文件名為“컒쏇.txt” 不過用FileScanName函數可以 ...… 查看全部問答∨ |