打印
[开发工具]

【PIC-IoT WA开发板】+GPIO输入输出+timer定时中断+串口输出

[复制链接]
732|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 qjp1988113 于 2020-10-23 14:20 编辑

官方给的代码是综合代码,太过庞大,我们还是先重新通过MCC来建立一些简单的工程。
新建一个工程,具体流程看之前的帖子,有很详细的描述。
打开MCC,出现配置界面,进行引脚和外设的配置:
引脚配置:我们配置了板上的4个LED灯,2个按键,一个调试串口,一个定时器

在配置按键时,我们要注意配置成上拉,体验会好一点。一开始我没勾选,
我用串口输出按键的电平,结果按一下发现串口要输出好久的低电平。
我看了下它的电路图:

原来是直接相连的,这样的悬空状态可能不是很稳定,还是加个内部上拉吧。
上拉后果然很稳定。


时钟配置成了最高的32M,不使能输出时钟的引脚:

串口配置成9600-N-8-1,使能中断(当前我们先不写中断内容),接收发送缓存大小为255,勾选重定向printf:

定时器配置成1ms中断一次,中断时间设定为500ms一次(黄灯闪烁):

配置中断的优先等级:

点击生成原始代码:

生成的代码,已经做得很好了,完全包装了底层的寄存器,用户甚至无需跟最底层打交道,就能写出代码。
以GPIO为例,配置好的函数操作包含:当前引脚的置高、置低、翻转、读当前引脚电平等,几乎涉及到的操作都包含了。
timer生成的文件里面,已经定义了一个count计数累加的标记变量了,我们修改下范围就能用了。
开始默认的是uint8_t类型的,结果我写了个500,然后就一直不能达到设定的值。

定时器中断函数为:每500ms黄灯闪烁一次。




main函数里面,2按键分别控制红灯的亮灭,并输出当前控制的按键号,绿灯每300ms闪烁。


编译,下载,查看现象:





使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

111

主题

627

帖子

2

粉丝