本文目錄一覽:
- 1、c語言stm32問題
- 2、STM32需要學習C語言的哪些知識?是全部嗎?
- 3、stm32 C語言調用
- 4、我沒學過單片機,有c語言基礎,能直接學習stm32嗎?
- 5、學習STM32一定要用到彙編語言嗎?我只會C語言怎麼辦?
c語言stm32問題
一句話概括,就是告訴編譯器pao3這個變量里存的是一個地址值而不是一個整形變量值,雖然他們的表現形式都一致!然後再詳細剖析一下上面這句C語言。「u32 *pao3」中
變量類型不是u32,而是u32*。表示變量名pao3所在地址存放的是一個地址值,如果是u32,則表示只是存放的一個32位的整形數據。而地址0x4FFF0001內存放的東西才是32位的整形數據,而這個數有可能是某個整形變量的值或是一個32位寄存器的值。賦值語句後面的(u32*)是一個強制類型轉換。所賦的值必須與定義的變量一致。你也可以試試如果把那句話改為u32 *pao3=(u32)(0x4FFF0001)或是u32 *pao3=0x4FFF0001都是會報錯的。編譯器以為你把一個整形變量賦給了一個指針變量。然後如果你要取該寄存器(0x4FFF0001)的值,則直接取*pao即可,比如printf(“%x\n”,*pao),如果是在計算機中,你會得到顯示13247A1A.
STM32需要學習C語言的哪些知識?是全部嗎?
c語言一定要學好.在stm32上編程很少用彙編語言(會累死人的),一般都用c,不過有些功能c語言實現不了,學好了c語言編程還是要啃啃彙編的,.建議你用keilmdk.跟51的keil差不多.入門建議你買一塊開發板,一定要簡單,實用的.這樣既便宜,又便於學習.而且一定要買例程豐富的,不然會學的很暈的~~.有了例程就好多了.
stm32 C語言調用
1. 如果你想調用源文件(即.c文件)中的函數,有兩種辦法,第一種是為這個.c文件增加一個頭文件,把需要調用的函數的聲明寫在這個頭文件中,然後讓main.c包含這個頭文件;第二種是在main.c前用extern聲明要調用的函數。個人建議使用第一種方法,第二種方法可能會因為makefile的原因出現一些問題。
2. 不太明白你的意思…調用函數實現功能的話,返回狀態應該是由調用者查詢的…
3. 我不清楚LCD怎麼實現,但是從功能上你說的是沒問題的。其他的參照上面兩個回答
我沒學過單片機,有c語言基礎,能直接學習stm32嗎?
大概是不行的。雖然stm32要求的c語言你學過,但是很多東西要是直接去學習stm32的話很難理解。並且目前stm32的學習資料不是特別多(相比於51單片機),基礎的更沒有了,幾乎所有資料都是建立在對單片機有一定認識上的。雖然stm32的確很高級,但是必須很複雜,比較難懂,不然大家都去學習了。比如寄存器,中斷等很多概念在stm32的資料中很少有詳細地去講,都是直接教你怎麼用,可是你根本不懂那是什麼,所以這些都得從簡單的單片機中入手去學習基本的東西,目前最常用的基本單片機是51單片機,資料超全,也很詳細,等你學的差不多時在去學習stm32吧,不然你會很痛苦的
學習STM32一定要用到彙編語言嗎?我只會C語言怎麼辦?
學stm32彙編不是必須會用的,但是如果懂彙編,會使你寫的c程序有更好的執行效率。
內容拓展:
一、在嵌入式開發中C語言和彙編兩種語言相比。彙編作為低級語言,是僅次於機器語言和硬件聯繫最緊密的語言;而C語言,嚴格的說也只能算是半個高級語言,相對於其他高級語言來說。
二、這兩者比較直觀的差異是:彙編語言的實時性非常好,但可讀性差,可移植性不強;相反,C語言的可讀性強,可移植性高,但實時性相對彙編比較差。
三、利用C語言編寫單片機程序,不用考慮程序的初始化地址,不用考慮ACC,PSW以及工作寄存器的保護,不用考慮溢出進位CY。而彙編這些都需要考慮到。
四、當然c語言的簡單與方便這是彙編不能比的,個人覺得把單片機c語言和彙編語言結合來編成是最好的。在需要很精確的地方就嵌套一個彙編的子程序,其他就用c語言。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/286892.html