隨筆:STM32的C語言編寫遇到的問題1

問題1.在進行KILE的debug時,程序停在了LDR R0, =SystemInit這裏不動了。
在這裏插入圖片描述

原因: debug的斷點設置的太多了

問題2:C語言裏,函數的輸入參數是不能被改變的。意思是說,加入我在函數內部,對某輸入參數進行了處理,在離開函數後,該處理便會失效。

https://blog.csdn.net/CGKXDPP/article/details/80512096

解決方法:傳遞的參數爲指針。

問題3:結構體的定義和初始化

結構體在定義的時候是不能被初始化的。
例如

typedef struct 
{
	u8 size_max            ;   
	char*  point_queue[10]       ;
	u16    len_queue[10]         ;   
	u8   size_now                ;  
	u8   empty_if                ;    
	u8   enough_if               ; 
	u16  percent                 ;   
} FIFOtype;   

這樣是定義一個結構體,但是初始化要另外初始化。即

FIFOtype USART1_FIFO={10,{0},{0},0,1,0,0};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章