stm32f103c8t5点灯

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档



提示:以下是本篇文章正文内容,下面案例可供参考

一、模块化编程

在写驱动代码的时候,只有一个源文件,里
面第一个函数为主函数,后面跟着很多外设的驱动函数,这样整个代码臃肿混杂,很不利于我
们进行维护或二次开发,因此模块化编程大家是很有必要掌握的。所谓模块化编程,就是一个.c
(源文件)对应一个.h(头文件),每个外设都有对应的.c 和.h,这样要使用某个外设驱动,只
需包含对应的头文件即可,这种模块化编程非常利于开发与移植。

二、开始点灯

1.添加标准库

标准库是stm32官方的库,里面定义了许多函数用于我们调用,“ 点灯 ”所需要驱动的是 GPIO 外设,因此我们需要添加
GPIO 的标准库
在这里插入图片描述

2.驱动文件led.c

这是初始化单片机io口的文件,每一个外设都需要初始化才能使用,就像c语言中的变量 int a=0一样,需要初始化后才能用这个a。

#include "stm32f10x.h"

void LED_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStruct; //定义GPIO结构体变量
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); //使能GPIO的时钟
	
	GPIO_InitStruct.GPIO_Pin=GPIO_Pin_13;//配置GPIO第13引脚
	GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;//配置GPIO为通用推挽输出
	GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;//配置GPIO速率
	GPIO_Init(GPIOC,&GPIO_InitStruct);//GPIO初始化函数

	GPIO_SetBits(GPIOC,GPIO_Pin_13);//pc13引脚置位(高电平),初始化灯熄灭



}

该处使用的url网络请求的数据。


3.头文件led.h

头文件是用于存放驱动函数的文件,将这个放在main文件里面,就可以调用led.c里面的函数了

#ifndef _LED_H
#define _LED_H

void LED_Init(void);
#endif


4.原理图

通过查看原理图得知。
USER_LED 对应的是 PC13 引脚,由 LED 的驱动电路不难看出,当 PC13 输出为高电平时,
发光二极管两端电压都是高电平,不导通则灯自然也不会亮,当 PC13 输出为低电平时,发光
二极管处于正向导通状态,则灯会亮。
在这里插入图片描述

5.烧录

可以使用usb转ttl进行烧录。由于我这块板上自带有这个芯片,所以可以直接插数据线烧录。

总结

点灯入门,之后的驱动就好写了。
在这里插入图片描述

点灯代码——————点这里

链接:https://pan.baidu.com/s/1aNNpzuA5XlxiXQFKr_vgqQ
提取码:1234
网盘点这里

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值