1.c語言基本知識複習
轉義字元
意義ascii碼值(十進位制)
\a響鈴(bel)
\b退格(bs) ,將當前位置移到前一列
\f換頁(ff),將當前位置移到下頁開頭
\n換行(lf) ,將當前位置移到下一行開頭
\r回車(cr) ,將當前位置移到本行開頭
\t水平製表(ht) (跳到下乙個tab位置)
\v垂直製表(vt)
代表乙個反斜線字元''\'
代表乙個單引號(撇號)字元
代表乙個雙引號字元
\?代表乙個問號
063\0
空字元(nul)
\ddd
1到3位八進位制數所代表的任意字元
三位八進位制
\xhh
十六進製製所代表的任意字元
十六進製制
%d十進位制整型數
%6d十進位制列印,至少6個字元寬
%f浮點數
%6.2f
浮點數至少6個字元寬,小數點後有兩位數
%o八進位制
%x十六進製制
%c字元
%s字串
%%百分號
%.0f
強制不列印小數點和小數部分
2.按位與&、按位或|、短路與&&、短路或||;
4.陣列以'\0'(空字元)標誌結束,即空字元(null)
typedef
unsigned char
u8signed char
s8unsigned short int
u16signed short int
s16unsigned long int
u32signed long int
s325.字首0的整型變數為八進位制形式;字尾表示:無符號常量以u或u結尾,ul或ul為unsigned long型別
#define vtab '\013' /* ascii縱向製表符*/
#define bell '\007' /* ascii響鈴符 */
#define vtab '\xb' /* ascii縱向製表符*/
#define bell '\x7' /* ascii響鈴符 */
6.字元常量與僅包含乙個字元的字串之間的區別:
'x'與"x"是不同的,前者是乙個整數,其值是字母x在機器字符集中對應的數值;
後者是乙個包含乙個字元以及乙個結束符'\0'的字元陣列。
7.不同列舉中的名字必須互不相同。同一列舉中不同的名字可以具有相同的值;
相對於#define,優勢:常量值自動生成,列舉變數提供變數儲存值的有效性檢查。
8.取模運算子:%
9.定時器中斷中進行感測器狀態檢測,時間過長導致程式一直在進行狀態查詢,執行緒無法執行;
10.寫eep傳參錯誤,u16傳u32導致寫位址錯誤,強制轉換問題;與cpu大小端有關,高位元組在前還是低位元組在前。
11.**進不了main函式,原因:更改了main函式的其實位址,向後移動了16k,但在boot中輪詢找到的是之前的eep資料,導致boot檢測的main函式之前位址就開始執行,程式崩潰;重檫flash,燒boot,解決。
12.stm32f401memory分配:16k boot、16k eephis、 16k eephisbak、80k 監控備份區、128k 監控執行區;
13.模組使用方便,但是占用資源過多,是一把雙刃劍,模組還是封裝好一點,規範化,巨集定義寫在.h中,方便呼叫;
14.電機鎖:啟動延時、離位、歸位、剎車、歸位重試;門狀態檢測、鎖狀態檢測;
15.鋰電池啟動電流必須為小電流,16.公升級方式,若採用復位方式,整機會斷電重啟,對於有安卓介面,可使用跳轉boot方式來保證主控板不斷電;
17.日誌模組、systemview模組、ds18b20模組、鎖模組、公升級模組;
18.邏輯晶元使用時新增對映方式,以便後續使用時僅進行引腳切換即可;
2019 08 18 日常總結
一本通1599 題意 在一年前贏得了小鎮的最佳草坪比賽後,fj 變得很懶,再也沒有修剪過草坪。現在,新一輪的最佳草坪比賽又開始了,fj 希望能夠再次奪冠。然而,fj 的草坪非常髒亂,因此,fj 只能夠讓他的奶牛來完成這項工作。fj 有 nn 只排成一排的奶牛,編號為 11 到 nn。每只奶牛的效率是...
5059日常總結
1.乙個函式的形參是const char 實參是可以是char 如果乙個函式的返回值是const char 不能用char 來接收返回值 2.為什麼沒有靜態的建構函式和析構函式?建構函式成員函式使用現有分配構造指定的物件 即存在this。static成員函式指定物件沒有儲存,因此沒有關聯的例項要構造...
2019 10 01日常總結
前言 今天是祖國母親70歲生日,請允許我向祖國母親說一聲 生日快樂!願您永遠繁榮昌盛 山清水秀!題意 松鼠的新家是一棵樹,前幾天剛剛裝修了新家,新家有n nn個房間,並且有n 1 n 1n 1根樹枝連線,每個房間都可以相互到達,且倆個房間之間的路線都是唯一的。天哪,他居然真的住在 樹 上。松鼠想邀請...