|
首先對于ST公司的單片機如stm8,stm32,個人覺得還是比較好入門的,因為ST工程師早已經(jīng)開發(fā)了完備的庫函數(shù)供用戶使用,使用起來非常方便。
樓主覺得難,我覺得有以下幾個原因:
1.對STM8或STM32整體結(jié)構(gòu)不熟悉,STM8雖然也是8位單片機,但是其內(nèi)核不是51內(nèi)核,是ST自己研發(fā)的內(nèi)核,所以它的時鐘、IO口、外設(shè)遠(yuǎn)沒有51那么簡單(相對來說,不是說51很easy)。
2.從未或很少用庫函數(shù)開發(fā),或者一直都是模仿例程寫的程序,接觸到新的單片機不知道如何下手。
3.ST單片機功能太多,寄存器太多,對于STM8,每個IO口都有5個寄存器,都有12種模式,誰看著不頭暈?
歸根結(jié)底還是對ST單片機不熟悉,其實為什么ST單片機復(fù)雜,首先就是其外設(shè)有獨立的時鐘,GPIO。USART,TIM等等都有自己的時鐘(這也是為什么ST單片機要強于一般51單片機),51只要主時鐘起振后,幾乎所有外設(shè)都用這個時鐘,只需要配置分頻就行了,像89C52,主頻11.0592MHZ,上電后,所有的時鐘都是11.0592,不用我們做任何配置。
ST則不同了,首先要選擇時鐘源,配置主時鐘頻率,用哪個外設(shè)需要開啟那個外設(shè)的時鐘,如果那個外設(shè)用到了IO口,比如USART,還需要配置相對應(yīng)的IO口,不過這些操作均有庫函數(shù),你只需調(diào)用相應(yīng)的函數(shù)即可。
學(xué)習(xí),切不可急功近利,更不可氣餒,水滴石穿、非一日之功,前期你可以看看別人的程序,看看別人的思路,摸索出其中的規(guī)律,希望你早日攻克這個難關(guān)! |
|