STM32F7學習第一次筆記 一些混雜知識點

2021-10-25 12:42:40 字數 1105 閱讀 4689

和f1的一點區別:

在ucos作業系統中,有systick提供時鐘節拍,這個時鐘一般不能打斷。

這裡的延時只是抓取systick值得變化,不修改,所以不影響ucos時鐘節拍。

在這裡插入描述這裡delay_ostickspersec是用來設定os時鐘節拍的,由注釋可見時鐘節拍最大為77.7ms,這裡767的sysclk值為216,如果要設定時鐘節拍為5ms則設定delay_ostickspersec值為200,216000000/200=1080000,每個值計時1/216us,1080000/216=5000,即為5ms的os時鐘節拍。

reload*1000000計數值結束即為1s

fac_ms值為os能延時的最小單位,比這個值小delay_ms就不會使用os延時,而使用delay_us()來實現延時。如這裡delay_ostickspersec值為200,fac_ms就為5

開啟資料cache和指令cache,並保證d-cache和sram的資料保持同步重新整理,防止資料不一致。

這個檔案還負責重新命名一些型別以及初始化時鐘

printf函式支援,如果要修改一般就修改相應的串口號。

開漏模式可以讀io輸入電平變化,此模式可以把埠作為雙向io使用。

hal_gpio_togglepin();取反輸出電平,內部是odr暫存器的值決定輸出電平。

bsrr暫存器和odr暫存器功能相似,低16位寫1輸出高電平,高16位寫1輸出低電平。

hal_gpio_writepin(gpiox,gpio_pin,pinstate);

idr暫存器用來讀取gpio口狀態

hal_gpio_readpin(gpiox,gpio_pin);

第一次學習筆記

昨晚做了一道leetcode簡單題 第一次做題 最後呢在vs裡面能執行,但在 上就會報錯,感覺是記憶體哪兒的問題 查了一下,雖然提交失敗了,我也是在不知道咋改,但 做完這道題還是有收穫的 if和else,雙if巢狀後面的else注意大括號,還有裡面的if與外面的else無關係 字串是const ch...

第一次筆記

引用資料在記憶體中儲存的資料 a 100 a 是指向100的乙個引用 print id a 互動模式和直接引用的區別直接引用 a 367b 367print id a 2429337035888 每次執行結果會變 print id b 2429337035888 每次執行結果會變 print a i...

第一次學習

printf 函式和 scanf 函式分別為輸出和輸入函式兩個函式都使用格式字串和引數列表。printf函式列印資料的指令要與待列印資料的型別相匹配。在 和轉換字元中間插入修飾符可修飾基本的轉換說明 scanf函式是輸入函式,它把輸入的字串轉換為整數 浮點數 字元或字串,而printf函式正好與他相...