如何新建一个工程
1.打开工程模板,删除其他不重要的库文件,把main()函数里的内容删除;
不用的外设固件库文件可以删掉,节省编译时间
rcc 时钟使能
usart 串口
复用映射
setbits 设置高电平 resetbits 低电平
2,在工程文件夹里新建一个HARDWARE文件夹,里边放你想写的程序标题(如LED)
3,在工程里添加这个文件夹

4,新建.c 和 .h 文件,然后添加到HARDWARE文件夹下面


5.因为定义了一个.h头文件,我们需要把他加到头文件路径里,

跑马灯硬件连接

因为要输出高低电平,所以采用推挽(上拉)输出(PS:推挽可以输出强高低电平,开漏只能输出强低电平)
程序步骤

.c文件
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //定义一个结构体
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//时钟使能
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;// LED的IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //输出
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
GPIO_Init(GPIOF, &GPIO_InitStructure); //初始化完成
GPIO_SetBits(GPIOF,GPIO_Pin_9 | GPIO_Pin_10); //灯是灭的 初始化要给高电平
}
输入 输出 复用 模拟 四种模式
在这里插入图片描述
输出类型 推挽 或 开漏
在这里插入图片描述
main()函数
int main(void)
{
delay_init(168);//延时函数初始化 根据时钟设置 一秒
LED_Init();//LED初始化
while(1)
{
GPIO_SetBits(GPIOF,GPIO_Pin_9|GPIO_Pin_10);//拉高同时灭
delay_ms(500);
GPIO_ResetBits(GPIOF,GPIO_Pin_9|GPIO_Pin_10);拉低同时亮
delay_ms(500);
}
上一篇:跑马灯-------寄存器版本
下一篇:stm32之ADC oled显示
推荐阅读
史海拾趣
- 14家工业智能企业入选《上海市智能机器人标杆企业与应用场景推荐目录》
- 大声量 | 2023机器视觉技术与应用峰会议程新鲜出炉!
- 海康机器人视觉检测方案守护光伏组件生产质量
- 艾利特CSF系列力控协作机器人来了!
- MTBF突破4万小时!这家工业级3D相机品牌产品稳定性获权威机构认可
- “超高镍NCMA电池”即将到来,国产Model Y有望搭载!
- 外商统治、国牌崛起,谁将主导车载传感器的千亿市场?
- 电动汽车尚未完全普及,双向充电技术已经在试验阶段了?
- Diodes 公司推出符合汽车规格的 USB Type-C 端口保护装置
- 瑞萨电子加速ADAS和自动驾驶技术开发 推出先进的R-Car V3U ASIL D级片上系统



ASM10DTBD-S664






京公网安备 11010802033920号