zoukankan      html  css  js  c++  java
  • 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个脉冲,
    这明显是错误的,直接用寄存器来设置的方式,计数到了正确的脉冲数!
    --------人最大的弱点在于惰性,想得太多但是做得太少--------
  • 相关阅读:
    四套读写方案
    如何保证ArrayList线程安全
    异常总结<经典例题>
    java.移位运算符
    java反射机制
    面试题:return和finally执行
    Spring_通过注解配置 Bean(1)
    Spring_通过 FactoryBean 配置 Bean
    Spring_通过工厂方法配置 Bean
    Spring_管理 Bean 的生命周期
  • 原文地址:https://www.cnblogs.com/mcuGeek/p/4917448.html
Copyright © 2011-2022 走看看