现在的位置: 首页嵌入式研究>正文
STM32最簡單應用之GPIO點燈
2009年11月30日 嵌入式研究 暂无评论

老板現在不在,抽空寫一篇文章:STM32的初學者可以看看,老鳥請自覺飄過-_-!.

由于公司為台灣黑工廠,所以所有電腦都是繁體系統,所以所有文字也為繁體的,不過應該不影響閱讀.

     剛購入STM32時,對它的資料看的有點頭痛,不過在整理了一下之后就大至清析明了,特別是它的固件庫使用風格比較另類,使用了大量的結構體,然后用整個結構作為固件庫函數的參數,這樣雖然可以減少函數參數的傳遞,但對于習慣了NPX與TI的固件庫來說這樣有點不習慣.

    廢話這么多,現在就上我的STM32第一個程式,點亮一個LED!   須要注意的是須要使用固件庫.

  GPIO_InitTypeDef GPIOASET;      //定義一個GPIO_InitTypeDef類型的結構
 GPIO_DeInit(GPIOA);                       //GPIOA恢復默認值
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);   //先使能GPIO A的時鐘  (幾乎所有的CORTEX-M3核的外設都須要先使能時鐘)
 GPIOASET.GPIO_Pin=(GPIO_Pin_0|GPIO_Pin_1);                               /*選擇到GPIO_PIN 0還有1 */
 GPIOASET.GPIO_Speed=GPIO_Speed_50MHz;                                    //GPIO的速度
 GPIOASET.GPIO_Mode=GPIO_Mode_Out_PP;                                    /*    輸入輸出類型:當然是輸出型的            */
 GPIO_Init(GPIOA,&GPIOASET);                                                                  //然后設置GPIO,它是根據GPIOASET中各個成員的值來進行設定的

接下來我們就可以直接使用GPIO了,如果為了效率可以使用匯編或是直接寫寄存器的方法操作,如果無所謂效率就使用固件庫;

GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_SET);       //置位相應的LED

GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_RESET);   //清零相應的LED    這很容易理解.

 

原文连接:http://mcukaifa.com/mcudesign/cortex/160.html



给我留言

留言无头像?


无觅相关文章插件,快速提升流量