• 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个脉冲,
    这明显是错误的,直接用寄存器来设置的方式,计数到了正确的脉冲数!
    --------人最大的弱点在于惰性,想得太多但是做得太少--------
  • 相关阅读:
    行转列(FOR XML PATH)
    非聚集索引的注意事项
    避免JS全局变量冲突
    如何做个好员工?
    SQL Server 执行计划中的扫描方式举例说明
    SqlServer with递归查询的使用
    Excel插件类库的设计思路
    使用log4javascript记录日志
    布局
    Image控件的简单使用示例1
  • 原文地址:https://www.cnblogs.com/mcuGeek/p/4917448.html
Copyright © 2020-2023  润新知