3回答

0收藏

按键中断+串口

其他 其他 3841 人阅读 | 3 人回复 | 2013-01-21

在本实验中,用了按键BP2、LED1和串口UART0。
实验原理:利用BP2的按键按下产生GPIO中断,在中断函数实现LED的状态的改变,
同时利用串口发出相关的LED的信息。
实验内容:利用按键BP2,每按一下按键,LED的状态反转一次,比如上次是亮,下
次就灭。同时每次UART0发出LED1是亮还是灭的信息。
下面对初始化GPIO中断和串口写些自己的理解,由于水平有限,如果又不对,希望大
家纠正,还望见谅!

这幅图中,定义一些按键的信息,例如按键接在了PIOA上,并且接在PIOA的第六个
管脚PA5上。同时定义PIOA中断是上升沿,同是设置上拉电阻和去抖动滤波器。

上图是按键配置函数,主要作用是使能按键中断和配置中断函数。在此为了使能PIO
中断,配置PIOA时钟,这样PIO控制器才能工作,否者无法使能PIO中断。其他的函数
功能图中都有注释,这里就不详细说明了。呵呵!

这里有配置串口,主要是配置串口控制器的时钟、串口的波特率和奇偶校验。
本函数中的CONF_UART_BAUDRATE为115200的波特率,无奇偶校验。

这是中断函数里完成工作。改变LED的状态和发送相关LED状态信息。

主函数就是配置函数的调用。下图是串口发出的信息在串口调试调试助手的显示结果.

实验到此做完了,呵呵!如果大家有想了解相关的PIOA和UART的控制器中的寄存器
是如何设置的,可以参考的看Atmel官方提供的《SAM4S Series》,里面有很多详细的介绍,
很有帮助的。在帖子的最后有程序的源码压缩包和实验结果的视频!
希望大家多多支持!  

按键中断 串口.pdf

212.87 KB, 下载次数: 20

按键中断 串口.rar

2.95 MB, 下载次数: 32

分享到:
回复

使用道具 举报

回答|共 3 个

倒序浏览

沙发

kk5290122

发表于 2013-1-21 08:18:09 | 只看该作者

支持一下……
板凳

zhangb7309

发表于 2013-1-21 09:32:45 | 只看该作者

支持!!!
地板

w453114735

发表于 2013-1-21 20:04:30 | 只看该作者

支持!!嘿嘿
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条