亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
stm32的gpio口的介紹(交流和學習)
[打印本頁]
作者:
周濤1331
時間:
2020-7-7 10:22
標題:
stm32的gpio口的介紹(交流和學習)
我最近在學stm32,想和大家分享自己的學習成果,也和大家一起學習交流。之前學習過15的庫函數的套用,經過一段時間摸索,我對stm32的使用有了基礎的了解。因為板子不是正點原子和野火,所以有些不同。 每個板子視頻教學第一個介紹都是stm32的gipo口的介紹,這個io口跟51的io口定義全然不同,并且能配置自身頻率,而且有些定義用到了結構體。而且stm32是32位的單片機,內部的32位寄存器太多,很難記住,所以建議使用庫函數的辦法,先學會套用,后來在更改參數或者做一些小項目的時候,對一些寄存器做一些更深入的理解。
首先我們講一下gipo口void led_init(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //調用結構體
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG, ENABLE); //定義時鐘
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; //定義哪個口輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //輸出速率為50Mhz
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //定義為推挽輸出
GPIO_Init(GPIOG, &GPIO_InitStructure); //調用庫函數配置io口
GPIO_SetBits(GPIOG,GPIO_Pin_6); //置一服務
}
這個截圖你能看見這個是定義一個stm32的io口的操作過程,這個地方使用了結構體,可以看到,這樣使調用更加明了。這里定義了
io的pa時鐘,配置的是哪一個io口,輸出速率,輸出是推挽輸出
。這些參數,集合在一個函數中,使用更加明了簡捷。感覺很方便。
我提供一個燈亮小燈的程序?梢詤⒖家幌,有啥問題可以一起學習。我建了個群912803408.可以交流
單片機源程序如下:
/*****
** Descriptions:配置PG6為輸出,驅動開發板上的LED指示燈D1以200毫秒的間隔閃爍
**--------------------------------------------------------------------------------------------*/
#include "stm32f10x.h"
//delay這里報錯的原因是:delay函數用匯編實現的,導致了MDK誤報。
#include "delay.h"
/***************************************************************************
* 描 述 : 初始化單片機控制D1的引腳PG6,并將D1的初始狀態設置為熄滅
* 參 數 : 無
* 返回值 : 無
**************************************************************************/
void led_init(void)
{
//定義IO初始化配置結構體
GPIO_InitTypeDef GPIO_InitStructure;
//打開PA端口時鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG, ENABLE);
//配置的IO是PG6
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
//IO口速度為50MHz
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
//配置為通用推挽輸出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
//調用庫函數GPIO_Init()配置IO
GPIO_Init(GPIOG, &GPIO_InitStructure);
//設置D1初始化狀態為熄滅
GPIO_SetBits(GPIOG,GPIO_Pin_6);
}
/***************************************************************************
* 描 述 : 主函數
* 參 數 : 無
* 返回值 : 無
**************************************************************************/
int main(void)
{
//初始化用于驅動指示燈D1的引腳PG6
led_init();
//主循環
while(1)
{
//調用庫函數GPIO_ResetBits()驅動LED指示燈D1的引腳(PG6)輸出低電平,即點亮D1
GPIO_ResetBits(GPIOG,GPIO_Pin_6);
//軟件延時200ms
sw_delay_ms(200);
//調用庫函數GPIO_SetBits()驅動LED指示燈D1的引腳(PG6)輸出高電平,即熄滅D1
GPIO_SetBits(GPIOG,GPIO_Pin_6);
//軟件延時200ms
sw_delay_ms(200);
}
}
/********************************************END FILE********************/
復制代碼
所有資料51hei提供下載:
led.7z
(192.91 KB, 下載次數: 6)
2020-7-7 19:19 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1