搜索
bottom↓
回复: 32

两个stc单片机之间普通io口通迅大家有什么好的方案?

[复制链接]

出0入0汤圆

发表于 2018-1-27 05:17:40 来自手机 | 显示全部楼层 |阅读模式
在做一个led显示的板用的tm1640单位供应商忙一直没发过来,又快过春节了想用stc单片机做从机接收先完成整机实验,好在家过春节能多呆几天。请问有做过用普通io的两个单片之间通信的朋友大家有什么好的方案没有?

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

 楼主| 发表于 2018-1-27 05:19:37 来自手机 | 显示全部楼层
在做一个led显示的板用的tm1640单位供应商忙一直没发过来,又快过春节了想用stc单片机做从机接收先完成整机实验,好在家过春节能多呆几天。请问有做过用普通io的两个单片之间通信的朋友大家有什么好的方案没有?

出0入0汤圆

 楼主| 发表于 2018-1-27 05:27:59 来自手机 | 显示全部楼层
说明一下,tm1640是两线制通迅,但我的电路上留了三个普通io口,欢迎大家提出好的方案!

出0入0汤圆

发表于 2018-1-27 08:17:18 来自手机 | 显示全部楼层
串口或spi

出0入0汤圆

发表于 2018-1-27 08:36:00 | 显示全部楼层
按照tm1640的数据手册上的串行时序操作就可,很简单,我几年前就做过,用的是tm1640+stc15w408as实现,成本很低。

出0入0汤圆

发表于 2018-1-27 08:43:38 来自手机 | 显示全部楼层
如果是数码管可以给你个驱动,位段改个宏就行

出0入0汤圆

发表于 2018-1-27 10:11:08 | 显示全部楼层
楼主是想用单片机临时代替tm1640调试出样机来,楼主何必呢,先在其它地方买几片样品多好啊

出0入0汤圆

发表于 2018-1-27 11:06:13 | 显示全部楼层
软件模拟I2C就可以了,看I2C的数据时序做

出0入0汤圆

 楼主| 发表于 2018-1-27 18:21:35 | 显示全部楼层
用芯片当然是容易了,其实就是想尝试下能不能行,今天试了一种方法最理想状态开机能传10秒数据是正常的,后边都是乱码或者就是不显示,脑袋大了。想象中简单的事往往做好了也不容易啊

出0入0汤圆

 楼主| 发表于 2018-1-27 18:32:41 | 显示全部楼层
两个avr单片之间用IIC通信我试过是可行也挺方便的

出0入0汤圆

 楼主| 发表于 2018-1-27 18:43:40 | 显示全部楼层
不是来问大家要程序的,做试验这种东西只有做出来才能在成功的有成就感,就算是前人走过路可以自己感受一下,星期一,二再试试。还不行就放一放,就等什么时候脑洞大开再试!!

出0入162汤圆

发表于 2018-1-28 08:36:39 来自手机 | 显示全部楼层
用io模拟iic,接收端开启外部中断。主机开始发送时,接收方外部中断启动接收

出0入0汤圆

发表于 2018-1-28 15:30:11 来自手机 | 显示全部楼层
直接模拟1640时序就可以了

出0入0汤圆

 楼主| 发表于 2018-1-28 18:42:20 | 显示全部楼层
谢谢楼上两位的提供的思路!现在状态是开机能显示几十秒数据说明能传字节只是后面不能正确同步了,我也想到出误码的原因了,其实所有通信都大同小异,关紧是起始条件和判断在加上一些地址信息等,我现在用的三线的方法想速度快点程太简化了,明天去重理一下思路试一试

出0入53汤圆

发表于 2018-1-28 20:42:55 来自手机 | 显示全部楼层
gaobao_1 发表于 2018-1-27 18:32
两个avr单片之间用IIC通信我试过是可行也挺方便的

2个avr的硬件iic我也试过,但模拟iic没用过

出140入158汤圆

发表于 2018-1-29 02:30:28 | 显示全部楼层
如果有硬件外中断的,就用模拟SPI三线,最方便快捷。如果只预留了普通IO,则用模拟串口,只需2线,参看我以前发的模拟串口程序。

出0入0汤圆

 楼主| 发表于 2018-1-29 18:20:52 | 显示全部楼层
amigenius 发表于 2018-1-29 02:30
如果有硬件外中断的,就用模拟SPI三线,最方便快捷。如果只预留了普通IO,则用模拟串口,只需2线,参看我以 ...

留了中断口的,但是只作普通口,就是防如果调不通才用,今天调好了是发送字节子程序最后有一处写错了,谢谢大家!

出0入0汤圆

 楼主| 发表于 2018-1-29 18:33:19 | 显示全部楼层
我用了三根线,两根时钟线主从各一根共用一根数据线,采用时钟交互握手方式相位差为90度,就是一个高时另一个为低,主机晶体12m,从机stc内部rc为6.7m.从示波上看是约40us传一个字节,相当时钟为200KHz挺快吧

出0入0汤圆

 楼主| 发表于 2018-1-29 18:43:11 | 显示全部楼层
理论上可以双向通信但是还没试

出0入0汤圆

发表于 2018-1-29 20:21:05 | 显示全部楼层
模拟SPI。。。。。。。。。。。。

出0入0汤圆

 楼主| 发表于 2018-1-29 20:34:30 来自手机 | 显示全部楼层
应该说不是,也简单。就是各用一个时钟告诉对方自己的状态就是这么简单

出0入0汤圆

 楼主| 发表于 2018-1-29 20:37:12 来自手机 | 显示全部楼层
波形就是增量形编码器a,b相波形。用笔画个草图就能明白

出0入0汤圆

发表于 2018-1-30 00:00:58 来自手机 | 显示全部楼层
模拟串口或者红外的那种方式也挺好

出0入0汤圆

发表于 2018-1-30 09:53:52 | 显示全部楼层
IIC如何 但是效率不高

出0入0汤圆

发表于 2018-1-30 09:58:10 | 显示全部楼层
我觉得串口或spi不错,串口调试或者检查通讯的时候很方便,spi速率高也可靠

出0入0汤圆

发表于 2018-1-30 22:39:24 来自手机 | 显示全部楼层
串口单线半双工,可读可写

出0入0汤圆

发表于 2018-1-30 22:39:44 来自手机 | 显示全部楼层
只需1根线即可

出0入53汤圆

发表于 2018-1-30 23:41:41 来自手机 | 显示全部楼层
amigenius 发表于 2018-1-29 02:30
如果有硬件外中断的,就用模拟SPI三线,最方便快捷。如果只预留了普通IO,则用模拟串口,只需2线,参看我以 ...

模拟spi和模拟串口哪个快

出0入53汤圆

发表于 2018-1-30 23:44:51 来自手机 | 显示全部楼层
BAOJIWWWJJJWWW 发表于 2018-1-30 22:39
串口单线半双工,可读可写

说说单线半双工如何实现

出0入50汤圆

发表于 2018-1-31 08:34:07 | 显示全部楼层
zhcj66 发表于 2018-1-30 23:44
说说单线半双工如何实现

很简单的,如果支持单线的STM32等直接设置一下,一条TXD线就可以直接用。大部分的MCU不支持,只要把RXD和TXD都设置成带上拉的漏极输出模式(TXD不能用推挽,如果用了推挽,或者担心出问题,那就TXD接一个二极管的负极,把二极管正极与RXD并联),并到一起,再和其它MCU并联,如果速率高,可以再加一个上拉电阻。
这个方法可以多个MCU并接,做成类似于RS485的一主多从方式通信,3.3V和5V的芯片也可以加入MOS管做的电平转换电路并联上去,非常方便。

出0入53汤圆

发表于 2018-1-31 08:54:13 | 显示全部楼层
ilikemcu 发表于 2018-1-31 08:34
很简单的,如果支持单线的STM32等直接设置一下,一条TXD线就可以直接用。大部分的MCU不支持,只要把RXD和 ...

思路不错

出0入0汤圆

发表于 2018-1-31 09:09:26 | 显示全部楼层
普通IO口可以用脉宽输出,接收端解码即可,这样对串口就不占用了,还有如果系统时钟不稳定,有温飘,串口会有误码,但是脉宽与MCU的时钟准确度没有关系,这样也是可以半双工通信的,应该比模拟串口要简单可靠,不过脉宽解码比较浪费MCU,速度高了MCU占用率有点高,低俗的类似红外编解码,都是可以的。

出0入0汤圆

 楼主| 发表于 2018-1-31 19:10:09 | 显示全部楼层
谢谢大家的讨论,以用上tm1640也用了差不多有一天,后来专门用了个小单片机调试tm1640对照厂家的手册一点一点的看波形才调好,看来c语言的功力还不够,数组和指针一直不是很明白这次调试也是体会很深
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 12:51

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表