XMEGA IO口外部中断操作

最近做一个比较有意思的功能,用XMEGA的任意一个空闲的IO以一定的频率输出一个脉冲,控制另外一块XMEGA
跟它保持同步,从而双机都按照同一个频率,同时执行一项操作。


这个不复杂的功能,实现的功能却非常的有意思!如果一台设备可以采集10个外部信号,经过这种简单的操作之后
,可以轻易地采集20个信道,如果以其中一台设备作为HUB,同时对另外的多台设备发送同步信号,理论上便可以
同时让N台设备跟它保持同步,轻易地将信道扩张到10 X N,这简直一个太实用的发现!


由于手头的XMEGA评估板只有一块,于是我将上面应用模型进行简化,用来验证这种功能是切实可行的。
如下图:我将评估板的PC0与PB2直接对接(这两个IO在开发板上都是空闲的,取任意两个其余空闲IO也是可行的)
<ignore_js_op> 


编写相关代码



官方手册关于外部中断触发源的说明


<ignore_js_op> 




测试结果
<ignore_js_op> 

总结:官方库不可尽信,调用官方库设置触发源时,设置下降沿触发,调试发现实质上寄存器设置的是双沿触发,因此统计到了20个脉冲,
这明显是错误的,直接用寄存器来设置的方式,计数到了正确的脉冲数!

转载于:https://www.cnblogs.com/mcuGeek/p/4917448.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值