- 主题:这种情况何解?
古时候的某款单片机:内部有3个定时器,外部有1个uart,1个I2C,共8个IO。
参考各个demo,单独使用uart时的波特率由定时器1产生;单独使用I2C时,时钟由定时器1产生,挂死检测由定时器2产生,延迟由定时器3产生。
现在想用uart把I2C读到的数据打印出来。先准备尝试合并uart和I2C的demo,发现因为UART和I2C共用了定时器1,uart波特率和I2C速率都受限。
后面想尽可能快得把I2C读到的数据导出来。只有I2C、UART和IO的单片机上的常规做法是啥?
--
FROM 220.196.194.*
限定古时候 那就不好办了
【 在 nlgdczm 的大作中提到: 】
: 古时候的某款单片机:内部有3个定时器,外部有1个uart,1个I2C,共8个IO。
: 参考各个demo,单独使用uart时的波特率由定时器1产生;单独使用I2C时,时钟由定时器1产生,挂死检测由定时器2产生,延迟由定时器3产生。
: 现在想用uart把I2C读到的数据打印出来。先准备尝试合并uart和I2C的demo,发现因为UART和I2C共用了定时器1,uart波特率和I2C速率都受限。
: ...................
--
FROM 61.48.133.*
抛开这个事实不谈,现代的单片机处理这种的思路是啥。。。
【 在 Qlala 的大作中提到: 】
: 限定古时候 那就不好办了
:
--
FROM 220.196.194.*
现代单片机
资源多主频高 变通的余地大
【 在 nlgdczm 的大作中提到: 】
: 抛开这个事实不谈,现代的单片机处理这种的思路是啥。。。
--
FROM 61.48.133.*
I2C或者UART,不用硬件的外设。 用IO模拟
【 在 nlgdczm 的大作中提到: 】
: 古时候的某款单片机:内部有3个定时器,外部有1个uart,1个I2C,共8个IO。
: 参考各个demo,单独使用uart时的波特率由定时器1产生;单独使用I2C时,时钟由定时器1产生,挂死检测由定时器2产生,延迟由定时器3产生。
: 现在想用uart把I2C读到的数据打印出来。先准备尝试合并uart和I2C的demo,发现因为UART和I2C共用了定时器1,uart波特率和I2C速率都受限。
: ...................
--
FROM 120.245.132.*
现代哪还有uart i2c的时钟需要占用timer的...
【 在 nlgdczm 的大作中提到: 】
: 抛开这个事实不谈,现代的单片机处理这种的思路是啥。。。
: :
--
FROM 111.198.57.*
挂死检测是看门狗吗,头一次听到这种说法
【 在 nlgdczm 的大作中提到: 】
: 古时候的某款单片机:内部有3个定时器,外部有1个uart,1个I2C,共8个IO。
: 参考各个demo,单独使用uart时的波特率由定时器1产生;单独使用I2C时,时钟由定时器1产生,挂死检测由定时器2产生,延迟由定时器3产生。
: 现在想用uart把I2C读到的数据打印出来。先准备尝试合并uart和I2C的demo,发现因为UART和I2C共用了定时器1,uart波特率和I2C速率都受限。
: ...................
--
FROM 166.111.244.*
不是系统的看门狗,只是I2C总线的挂死以后的恢复机制。
注释上写的原话是configure timer2 for use with SMBus low timeout detect,本青没看函数实现,直觉就是挂死检测吧。。。
【 在 packer 的大作中提到: 】
: 挂死检测是看门狗吗,头一次听到这种说法
:
--
FROM 220.196.192.*
如果这个时间比较长
完全可以在其他timer里加个计数器
【 在 nlgdczm 的大作中提到: 】
: 不是系统的看门狗,只是I2C总线的挂死以后的恢复机制。
: 注释上写的原话是configure timer2 for use with SMBus low timeout detect,本青没看函数实现,直觉就是挂死检测吧。。。
: :
--
FROM 61.48.133.*