1、讀按鍵函式裡key_return在定義時一定要賦初值0,一定要
不然會出現按一下按鍵觸發一系列問題
2、read_key()函式裡定義的key_return需要賦初值0
3、xdata u8 send_date[7][22]=; //二維陣列占用空間太大,如果直接放在片內ram中會空間不足
4、回車換行寫\r\n,如果寫\n\r可出現傳輸格式偶爾錯誤
(key_press==0x77)而不是key_return == 4
串列埠通訊
①注意字元0對應48
②使用完後最好把緩衝區清除一下
建議使用定時器1作為波特率發生器,定時器2作為數碼管重新整理定時器,
優先順序:定時器0>定時器1>定時器2
如果使用定時器0作為數碼管重新整理電路,定時器1作為波特率發生器,則偶爾會發生串列埠通訊被定時器0打斷,也就會出現得發幾次資料發生實現我們的功能
串列埠通訊
頻率測量計(ne555)
這個pulse_count一定要定義成u16
read_val裡switch裡是對key_press進行判斷
呼吸燈時pwm_duty在1和9時候切換方向
①iic讀adc函式忘記了寫返回值
②iic寫時候在.h裡巨集定義了u8 u16,忘記了在.c裡包含.**件,故使用u8 u16後錯誤
③讀eeprom時也忘記給read_at24c02寫返回值了,導致讀不到資料,重新上電後資料不變
ad/da
iic讀adc函式忘記了寫返回值
使用定時器1作為超聲波距離檢測定時,數碼管及其他定時使用定時器0/2
①超聲波測距裡while後沒有加分號
②超聲波儲存距離的變數需要定義u16
③定時器1不能開啟et1,因為et1是允許中斷位,超聲波只要有計時功能就行,中斷會影響到計時
使用定時器1來定時,初始化定時器1時一定要寫成12t模式
void timer1init(void) //1毫秒@11.0592mhz
定時器2定時也要開ea
void timer2init(void) //1毫秒@11.0592mhz
藍橋盃國賽
過去挺久了,最近也荒廢了挺久,終於有時間來寫寫回憶吧 也要重新開始看演算法開始刷題了,只有努力才會有好運 題解啥的也不說了吧,網上應該挺多,當時填空題除了兩個,大題兩個應該只有部分分,混了個國三,今年題目多也變難了點,自己還是太菜。其實最想說的是第二題和第三題,第二題居然沒想到是揹包。在這個題中猶豫...
藍橋盃國賽總結
國三划水 怎麼說呢,這屆藍橋杯的題有點複雜,原來國賽都是6道題,今年一下子變成了10道題,然後沒乙個題可以暴力的,尷尬,我做的2016 2018年的國賽題,哎,基本沒用,現在大多數是在考思維,明顯的考演算法的比較少。本來至少可以拿國二的,前兩個小時搞掉了2小1大,但是後來每一道題到不簡單,但深入做肯...
藍橋盃國賽前一周深夜思索
失眠已經伴隨我了兩年了,今天恰逢5.21,幾個小時前,還是5.20,這不就是廢話嗎?再往前推一年,也就是上乙個5.20,我做了一件傻事,想想揪心,現在我只想著,我需要不斷的強化自己,只有自己變得足夠強,我才能得到我想要的。雖然藍橋杯省賽有驚無險,順利進入了決賽,但是我深知,藍橋雖水,然非小覷,畢竟我...