[打卡第四集]——@圆
第四集:建立工程点亮第一个灯
原理不做解释,视频很详细,这里根据库函数点亮lED,视频演示的是第一种直接配置寄存器。 我这个是库函数两种配置,一种是stm32结构体配置,另一种是将寄存器封装后的配置和视频配置没啥大区别。
方法1结构体配置开销会比直接操作寄存器慢
- #include <STC32G.H>
- #include "STC32G_GPIO.h"
- //该程序将P03配置为低电平,点亮LED
- void LED_OFF_Init()
- {
- GPIO_InitTypeDef GPIO_LED_OFF;
- GPIO_LED_OFF.Mode = GPIO_OUT_PP; // 设置推挽输出模式
- //GPIO_OUT_PP 推挽、GPIO_OUT_OD 漏极开路、GPIO_IO_PU 准双向、GPIO_IN_HIZ 高组输入
- GPIO_LED_OFF.Pin = GPIO_Pin_3; // 选择P3 引脚
-
- GPIO_Inilize(GPIO_P0, &GPIO_LED_OFF); // 配置到P0端口
- }
- /*
- void GPIO_LED_config(void)
- {
- //Px_MODE_IO_PU(GPIO_Pin_x) //准双向口
- //Px_MODE_IN_HIZ(GPIO_Pin_x) //高阻输入
- //Px_MODE_OUT_OD(GPIO_Pin_x) //漏极开路
- //Px_MODE_OUT_PP(GPIO_Pin_x) //推挽输出
-
- P0_MODE_IO_PU(GPIO_Pin_3); //P0.3设置为准双向口
- }
- */
-
- void main()
- {
- // 系统初始化代码
- WTST = 0; //控制CPU读取程序存储器的等待时间,默认7,加快速度
- EAXSFR(); //使能访问芯片内部的扩展SFR(XFR)区域
- CKCON = 0; //控制CPU访问外部数据存储器(XRAM)的速度
-
- LED_OFF_Init();
- P03=0;
-
- while(1);
- }
复制代码
|