學習日誌
姓名:唐小玲 日期:2018.7.27
今日學習任務
nvic中斷
gpio串列埠
中斷與串列埠的相關程式編寫
今日任務完成情況
(詳細說明本日任務是否按計畫完成,開發的**量)
均已完成。
今日開發中出現的問題彙總
初次接觸stm32系列的微控制器,有點懵,此微控制器管腳過多,功能複雜,程式設計有點困難,有點複雜。
今日未解決問題
無今日開發收穫
1.i/o配置的步驟-輸出模式
定義乙個埠結構體變數
gpio_inittypedef gpio_initstructure;
開啟埠對應的時鐘 rcc_ahb1periphclockcmd(rcc_all_led, enable);
填充結構體資料
gpio_initstructure.gpio_mode = gpio_mode_out;
/* 設為輸出口 */
gpio_initstructure.gpio_otype = gpio_otype_pp;
/* 設為推挽模式 */
gpio_initstructure.gpio_pupd = gpio_pupd_nopull;
/* 上下拉電阻不使能 */
gpio_initstructure.gpio_speed = gpio_speed_100mhz;
/* io口最大速度 */
gpio_initstructure.gpio_pin = gpio_pin_led1;
完成初始化
gpio_init(gpio_port_led1, &gpio_initstructure);
2.輸出控制
庫函式:
• gpio_setbits (gpiox, gpio_pin)
• gpio_resetbits (gpiox, gpio_pin)
• gpio_togglebits(gpiox, gpio_pin)
• 暫存器模式:
• gpiox->bsrrl = gpio_pin; //置高
• gpiox->bsrrh = gpio_pin; //置低
• gpiox->odr ^= gpio_pin; //取反
3.輸出控制----位帶操作
// 把「位帶位址+位序號」轉換成別名位址的巨集
• #define bitband(addr, bitnum) ((addr & 0xf0000000)+0x02000000+((addr & 0x000fffff)<<5)+(bitnum<<2))
• // 把乙個位址轉換成乙個指標
• #define mem_addr(addr) *((volatile unsigned long *)(addr))
• // 把位帶別名區位址轉換成指標
• #define bit_addr(addr, bitnum) mem_addr(bitband(addr, bitnum))
自我評價
(是否按開發規範完成既定任務,需要改進的地方,與他人合作效果等)
一些簡單的練習能夠做出,但是有一些知識點難以理解,不夠通透,需要多多實踐練習!
作業
無
蘇嵌學習日誌
姓名 盧元玉 日期 2018.7.12.今日學習任務 1.完成老師布置的31 道嵌入式 linux 開發工具篇問題整理 2.完成4個c 語言編寫。今日任務完成情況 1.基本能完成老師給我門布置的三十多道複習題目 2.對程式編寫還存在一定的難度,不過有老師和同學的幫助,最終能順利完成任務。今日開發中出...
蘇嵌學習日誌
學習日誌 姓名 於慧 日期 2018.7.23 今日學習任務 軟體安裝環境 stm32的簡單介紹 了解stm32f4xx的gpio暫存器 用暫存器點亮乙個led燈 了解韌體庫 建立基礎模板 今日任務完成情況 詳細說明本日任務是否按計畫完成,開發的 量 完成軟體安裝 了解了stm32的一些簡單知識 實...
蘇嵌學習日誌
學習日誌 姓名 於慧 日期 2018.7.25 今日學習任務 gpio 時鐘systick系統定時器 今日任務完成情況 詳細說明本日任務是否按計畫完成,開發的 量 使用韌體庫點亮led燈 部分 include bsp led.h include stm32f4xx.h int main void i...