4218|1

20

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【ufun学习】学习篇2:《基础例程1 - 三色LED控制》 [复制链接]

《基础例程1 - 三色LED控制》

先介绍一下32的代码主要结构:一个功能完整的工程由一个main.c文件和若干个***.c文件组成,其中每个***.c文件对应着***.h文件,***.c文件主要是将各种外设实现的功能封装在一个***.c文件中,main函数通过调用多个***.c文件实现一个比较完善的功能。代码结构层次清晰。下面为《基础例程1 - 三色LED控制》的具体详情:

1.Main函数中要对外设进行初始化,以及功能程序代码编写,该例程main函数如下图:

  1. 外设初始化(LED初始化)

该例程主要是对GPIO的控制,要实现 GPIO 的控制,需要多GPIO进行初始化。
初始化步骤分为:a.使能端口时钟——b.引脚定义——c.设置引脚输出类型——d.初始化GPIO

b.ufun板的原理图中可以得知RGB灯对应的GPIO分别为PA0PA1PA2,所以引脚定义时要对Pin0~2进行定义。

c.设置GPIO输入输出类型一共分为8类:输入模式

    -输入浮空(GPIO_Mode_IN_FLOATING)

    -输入上拉(GPIO_Mode_IPU)

    -输入下拉(GPIO_Mode_IPD)

    -模拟输入(GPIO_Mode_AIN)

输出模式

    -开漏输出(GPIO_Mode_Out_OD)

    -开漏复用功能(GPIO_Mode_AF_OD)

    -推挽式输出(GPIO_Mode_Out_PP)

    -推挽式复用功能(GPIO_Mode_AF_PP)

该例程用于控制RGB灯,设置为推挽输出模式。

d.初始化GPIO

下图为该例程LED初始化部分:

  1. SysTick也叫时钟滴答,其实质就是一个递减的定时器。在历程中用于毫秒级的延时。

3.例程演示效果:绿、蓝、红灯一次点亮,间隔为1秒钟。


电源指示灯和RGB灯亮度有点高就用纸片贴住了,这样拍摄效果会好点

文中如果有讲述得不对的地方望指出,本人必将虚心接受,共同学习。或者有什么好的想法也可以评论分享,欢迎大家共同学习进步。


此内容由EEWORLD论坛网友1nnocet-原创,如需转载或用于商业用途需征得作者同意并注明出处

此帖出自单片机论坛

最新回复

非常好的资料,感谢分享; 共享精神万岁。 希望楼主以后多多分享资料,帮助更多的电子爱好者。   详情 回复 发表于 2019-7-23 08:23
点赞 关注
 

回复
举报

373

帖子

0

TA的资源

纯净的硅(初级)

沙发
 

非常好的资料,感谢分享;
共享精神万岁。
希望楼主以后多多分享资料,帮助更多的电子爱好者。

此帖出自单片机论坛
 
个人签名很高兴认识大家,请多关照
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表