江蘇省第十屆藍橋杯嵌入式省賽賽後總結

2021-09-13 13:52:12 字數 1639 閱讀 2365

2019.3.24

比賽地點是在常州的江蘇理工學院,

先來吐槽一下把

還有就是感覺省賽太水了,準備了很充分,串列埠、pwm輸出、比較輸出pwm、捕獲輸入、iic等都準備了,然而考試只用到了adc,,,看完題目的時候我心態就有些崩了,感覺都白準備了,,,題目沒帶回來

題目的要求大概就是 用adc測量r37的電壓,然後顯示出來,然後有上下限,大於上限乙個led燈以0.2s間隔閃爍,小於下限另乙個閃爍,中間就沒有警報,然後上下限,具體哪個led燈亮可以通過按鍵設定,lcd有兩個介面,乙個顯示測量引數,另乙個是設定介面。實現的功能就是這樣,具體還有一些細節,比如兩個led燈不能相同,電壓上下限範圍為0-3.3v等。

相比於往年的題目感覺很簡單,要配置的外設少,要設計的系統也很常規。

比賽時遇到的問題的話就是,

就是想讓某乙個led燈亮的問題,賽前練習的時候一直是用gpio_resetbits(gpioc,1<<(ledx+7));

這句**來設定,一直沒發現這跟直接用 gpio_resetbits(gpioc,gpio_pin_8);其實是一樣的,然後藍橋杯的ct117板子8個led燈的io口是跟lcd共用的,通過鎖存器來控制,所以每次想亮乙個燈的時候,應該是lcd的程式讓這幾個管腳都輸出低電平,所以會8個燈全亮。

解決方法有兩種,①是把1<<(ledx+7)取反後直接賦值給控制暫存器  ②是在 gpio_resetbits某個管腳前,先把所有管腳輸出高電平,即 gpio_setbits(gpioc,0xff00);,然後再把某個管腳輸出低電平

第一種方法要去找暫存器,第二種方法雖然**多,但編起來思路清晰,我採用了第二種方法。

還有就是延時問題,我採用系統滴答計時器來延時,在中斷裡設定了乙個變數的自增,因為初始化後每1ms會進一次中斷,所以可以用來延時,同時不影響程式執行,相關**如下,但是設定完,led差不多2s閃爍一次,我不知道是**卡了時間,我把update_time顯示出來看,是正常的,差不多兩秒加到2000,然後從頭開始,但是led就是不配合,最後我就縮小了100倍對2取餘來判斷了,現象來看差不多了,但是還是不知道問題出在哪。

systick_config(systemcoreclock/1000); //初始化

u16 update_time=0;//定義變數

extern u16 update_time; //中斷在stm32f10x_it.c裡,要宣告外部變數

void systick_handler(void) //滴答定時器的中斷

if(update_time%200==0) //判斷0.2s了

最後,還有一點,就是做完題要提交的檔案是確定的,有講,乙個是改動過的檔案,還有就是.axe什麼的檔案,我沒認真看規則,所以我整個工程資料夾壓縮提交了,不知道會不會有什麼問題。

總之,感覺比賽是挺水的,老師監考不嚴,也不重視,題目也不難,但是報了比賽可以成為自己學習stm32的動力,報了比賽就要好好準備參加,像參加這次藍橋杯,雖然之前就已經學過了stm32,但是準備過程還是學到了很多新的編碼方式以及演算法等,還是挺值的。這次有我們學校好像有兩個報了名沒來參賽的,我覺得既然報了名,參賽的態度還是要有的,不然就是簡直浪費錢。

想學東西還是得參加比賽,因為比賽相當於就是學以致用的過程,你會知道你需要學什麼,你也會看到你學的東西可以怎麼用,這是乙個正反饋,學了用,還能拿獎,不然就自己光想著學一些技術,很難堅持下去。

第十屆藍橋杯省賽C B組 組隊

試題 a 組隊 本題總分 5 分 問題描述 作為籃球隊教練,你需要從以下名單中選出 1 號位至 5 號位各一名球員,組成球隊的首發陣容。每位球員擔任 1 號位至 5 號位時的評分如下表所示。請你計算首發陣容 1 號位至 5 號位的評分之和最大可能是多少?如果你把以上文字複製到文字檔案中,請務必檢查複...

2019第十屆藍橋杯省賽 賽後反思

太菜了!太菜了!太菜了!太飄了!太飄了!太飄了!又菜又膨脹!唉,本來可以省一的,太膨脹了,居然都沒有認真的去想特殊案例。比賽剛開始的時候還很認真的,看了前幾個題,感覺好簡單,就開始膨脹了。結果。第四題就錯了。第七題忘了有沒有考慮負數了 估計沒有考慮 第八題居然沒有考慮到公差為0的情況 啊啊啊啊!第九...

第十屆藍橋杯省賽C B組 組隊

本題總分 5 分 問題描述 作為籃球隊教練,你需要從以下名單中選出 1 號位至 5 號位各一名球員,組成球隊的首發陣容。每位球員擔任 1 號位至 5 號位時的評分如下表所示。請你計算首發陣容 1 號位至 5 號位的評分之和最大可能是多少?如果你把以上文字複製到文字檔案中,請務必檢查複製的內容是否與文...