» 您尚未 登录   注册 | 搜索 | 社区服务 | 帮助 | 无图版 | 左右分栏


AVR与虚拟仪器论坛 AVRVi.com -> AVR单片机论坛(主坛) -> 今天搞了AVR的TWI主从机通讯,专门写了一个简单的易于新手看懂的例子程序
 XML   RSS 2.0   WAP 

AVRVI的淘宝店 AVR单片机学习套餐 EasyAVR M128开发板 SK 国内最专业AVR开发工具商城

--> 本页主题: 今天搞了AVR的TWI主从机通讯,专门写了一个简单的易于新手看懂的例子程序 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题
admin

终身成就奖 金点子奖 原创先锋奖 技术群用户
头衔:先行者先行者

级别: 管理员
精华: 72
发帖: 3831
威望: 3906 点
金钱: 85105 VI
贡献值: 60 点
技术积分: 67 点
在线时间:2168(小时)
注册时间:1970-01-01
最后登录:2008-08-11
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子

0 今天搞了AVR的TWI主从机通讯,专门写了一个简单的易于新手看懂的例子程序

我们有工程师级的程序,相信很多人都看不懂,曾经给人看过。

这次写了个新手级的AVR TWI程序,方便学习者了解TWI工作流程和原理。

显得稍微有点乱,整理下再发上来。


程序实现功能:

主机从0到255循环发送字节到从机,从机收到后返回给主机,当主机收到的数为 0x10 时,主机发送再次从零开始。

硬件连接,两个最小mega16系统板,PC0和PC1互相连接,使用芯片的内部上拉电阻,电路上没有接上拉。

PS:为了保险,建议接1K~10K的上拉电阻到总线上。

2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制

AVRVi 与您共同发展! 赠人玫瑰,手留余香。
一份好的资料,放在机器中会成为垃圾文件;
如果共享出来,就能有成千上万的朋友受益;
每人贡献一点,中国的电子技术将迅速提高。
[楼 主] | Posted: 07-20 22:41 顶端
admin

终身成就奖 金点子奖 原创先锋奖 技术群用户
头衔:先行者先行者

级别: 管理员
精华: 72
发帖: 3831
威望: 3906 点
金钱: 85105 VI
贡献值: 60 点
技术积分: 67 点
在线时间:2168(小时)
注册时间:1970-01-01
最后登录:2008-08-11
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



主机主程序

CODE:


//ICC-AVR application builder : 2007-7-19 9:50:03
// Target : M16
// Crystal: 7.3728Mhz
// 作者:古欣
// AVR与虚拟仪器 [url]http://www.avrvi.com[/url]

//主机从1到255发一个数,收一个数。从机接收到任何数都返回。
//当主机收到的数为0x10时,从零开始发送,主机采用查询方式,从机采用中断方式

#include "config.h"

void main(void)
{
uint8 i=0,tmp=0;
//re-enable interrupts
DDRC=0X00;
PORTC=0x03; //使能内部上拉电阻
twi_master_init();

while(1)
{
i2c_maste_transt(0x50,i);
i++;
delay_1s();
tmp=i2c_maste_read(0x50); //读一个数
if(tmp==0x10) i=0;
}
}



从机主程序:

CODE:

// 作者:古欣
// AVR与虚拟仪器 [url]http://www.avrvi.com[/url]
// TWI 通讯从机,接受到数据回传给主机
// 关键内容在 中断函数 void twi_isr(void)中


#include "config.h"

void main(void)
{
DDRC=0X00;
PORTC=0x03; //使能内部上拉电阻
DDRA=0xff;
twi_slave_init(0x50); //初始化为从机,地址0x01。
SEI();
while(1)
;
}

2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制

AVRVi 与您共同发展! 赠人玫瑰,手留余香。
一份好的资料,放在机器中会成为垃圾文件;
如果共享出来,就能有成千上万的朋友受益;
每人贡献一点,中国的电子技术将迅速提高。
[1 楼] | Posted: 07-20 23:16 顶端
admin

终身成就奖 金点子奖 原创先锋奖 技术群用户
头衔:先行者先行者

级别: 管理员
精华: 72
发帖: 3831
威望: 3906 点
金钱: 85105 VI
贡献值: 60 点
技术积分: 67 点
在线时间:2168(小时)
注册时间:1970-01-01
最后登录:2008-08-11
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



嗯?大家不用IIC(TWI)的啊, 没有人顶,看来程序也不用发上来了。


描述:TWI通讯程序范例 ICC
附件: simple_twitest.rar (60 K) 下载次数:625
2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制

AVRVi 与您共同发展! 赠人玫瑰,手留余香。
一份好的资料,放在机器中会成为垃圾文件;
如果共享出来,就能有成千上万的朋友受益;
每人贡献一点,中国的电子技术将迅速提高。
[2 楼] | Posted: 07-23 13:54 顶端
tim_yao





级别: 圣骑士
精华: 1
发帖: 81
威望: 84 点
金钱: 890 VI
贡献值: 0 点
技术积分: 3 点
在线时间:31(小时)
注册时间:2007-06-29
最后登录:2008-08-20
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



哈哈
以前没空回贴,今天灌点水!
应该搞个SPI主从通信的例子上来.

2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制
[3 楼] | Posted: 07-25 10:41 顶端
admin

终身成就奖 金点子奖 原创先锋奖 技术群用户
头衔:先行者先行者

级别: 管理员
精华: 72
发帖: 3831
威望: 3906 点
金钱: 85105 VI
贡献值: 60 点
技术积分: 67 点
在线时间:2168(小时)
注册时间:1970-01-01
最后登录:2008-08-11
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



QUOTE:
引用第3楼tim_yao07-25 10:41发表的“”:
哈哈
以前没空回贴,今天灌点水!
应该搞个SPI主从通信的例子上来.

谁说没有的: http://bbs.avrvi.com/htm_data/30/0707/3315.html

学习开发利器:AVRmega128开发板,AVR仿真器,AVR编程器,AVR核心板四合一,仅需498元

AVRVi 与您共同发展! 赠人玫瑰,手留余香。
一份好的资料,放在机器中会成为垃圾文件;
如果共享出来,就能有成千上万的朋友受益;
每人贡献一点,中国的电子技术将迅速提高。
[4 楼] | Posted: 07-25 22:07 顶端
tim_yao





级别: 圣骑士
精华: 1
发帖: 81
威望: 84 点
金钱: 890 VI
贡献值: 0 点
技术积分: 3 点
在线时间:31(小时)
注册时间:2007-06-29
最后登录:2008-08-20
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



太好了,学习学习!
本站原创AVR单片机新手入门教程!
[5 楼] | Posted: 07-26 15:34 顶端
tim_yao





级别: 圣骑士
精华: 1
发帖: 81
威望: 84 点
金钱: 890 VI
贡献值: 0 点
技术积分: 3 点
在线时间:31(小时)
注册时间:2007-06-29
最后登录:2008-08-20
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



QUOTE:
引用第4楼admin07-25 22:07发表的“”:

谁说没有的: http://bbs.avrvi.com/htm_data/30/0707/3315.html

那个看到了,我是想用串口进行通信。我都弄一个周了,还没弄的,郁闷中。参考了很多网上的例子始终不能通过,我多没折了。


[ 此贴被tim_yao在07-26 16:36重新编辑 ]

2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制
[6 楼] | Posted: 07-26 15:45 顶端
admin

终身成就奖 金点子奖 原创先锋奖 技术群用户
头衔:先行者先行者

级别: 管理员
精华: 72
发帖: 3831
威望: 3906 点
金钱: 85105 VI
贡献值: 60 点
技术积分: 67 点
在线时间:2168(小时)
注册时间:1970-01-01
最后登录:2008-08-11
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



一个简单易懂的串口通讯例子程序: http://bbs.avrvi.com/htm_data/30/0705/2460.html
2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制

AVRVi 与您共同发展! 赠人玫瑰,手留余香。
一份好的资料,放在机器中会成为垃圾文件;
如果共享出来,就能有成千上万的朋友受益;
每人贡献一点,中国的电子技术将迅速提高。
[7 楼] | Posted: 07-26 17:53 顶端
蓝色精灵



技术群用户

级别: 圣骑士
精华: 0
发帖: 61
威望: 72 点
金钱: 660 VI
贡献值: 1 点
技术积分: 0 点
在线时间:24(小时)
注册时间:1970-01-01
最后登录:2008-07-25
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



老大,这个我正要用啊!麻烦您写详细点.

顺便问点问题:二个M16系统,一个做主机,一个做从机,用TWI通讯,让主机控制从机,这样做得到吗?

本站原创AVR单片机新手入门教程!
[8 楼] | Posted: 07-29 23:47 顶端
veryzhou



级别: 新手上路
精华: 0
发帖: 9
威望: 20 点
金钱: 190 VI
贡献值: 0 点
技术积分: 0 点
在线时间:5(小时)
注册时间:2007-04-12
最后登录:2008-03-06
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



QUOTE:
引用第2楼admin07-23 13:54发表的“”:
嗯?大家不用IIC(TWI)的啊, 没有人顶,看来程序也不用发上来了。



呵呵,古老大真会说笑,顶啊

2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制
[9 楼] | Posted: 07-31 13:21 顶端
starnewtech

特殊贡献奖 原创先锋奖 技术群用户

级别: 运营团队
精华: 7
发帖: 635
威望: 26 点
金钱: 340 VI
贡献值: 400 点
技术积分: 27 点
在线时间:255(小时)
注册时间:2006-10-16
最后登录:2008-08-20
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



TWI属于高级一些的应用,协议较为复杂,真正弄懂还真的花点时间...呵呵
学习开发利器:AVRmega128开发板,AVR仿真器,AVR编程器,AVR核心板四合一,仅需498元
[10 楼] | Posted: 07-31 22:52 顶端
peak



级别: 新手上路
精华: 0
发帖: 7
威望: 18 点
金钱: 179 VI
贡献值: 0 点
技术积分: 0 点
在线时间:0(小时)
注册时间:2007-01-14
最后登录:2007-08-30
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



我用这个
学习开发利器:AVRmega128开发板,AVR仿真器,AVR编程器,AVR核心板四合一,仅需498元
[11 楼] | Posted: 08-04 09:12 顶端
nightdog





级别: 新手上路
精华: 0
发帖: 1
威望: 2 点
金钱: 10 VI
贡献值: 0 点
技术积分: 0 点
在线时间:1(小时)
注册时间:2007-06-22
最后登录:2007-09-14
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



真是太强大了
初学者,我慢慢看

2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制
[12 楼] | Posted: 08-13 21:00 顶端
wuxinyangwei





级别: 骑士
精华: 0
发帖: 37
威望: 38 点
金钱: 370 VI
贡献值: 0 点
技术积分: 0 点
在线时间:7(小时)
注册时间:2007-06-29
最后登录:2007-09-07
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



学习 ,好东西
2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制
[13 楼] | Posted: 08-14 11:28 顶端
zhangxp_789





级别: 侠客
精华: 0
发帖: 27
威望: 28 点
金钱: 290 VI
贡献值: 0 点
技术积分: 0 点
在线时间:17(小时)
注册时间:2007-06-16
最后登录:2008-07-01
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



古工厉害啊,顶一下你,呵呵
学习开发利器:AVRmega128开发板,AVR仿真器,AVR编程器,AVR核心板四合一,仅需498元
[14 楼] | Posted: 08-14 11:47 顶端
wuxinyangwei





级别: 骑士
精华: 0
发帖: 37
威望: 38 点
金钱: 370 VI
贡献值: 0 点
技术积分: 0 点
在线时间:7(小时)
注册时间:2007-06-29
最后登录:2007-09-07
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



i2c_maste_transt(0x50,i) 中的0X50是从机的地址,请问这个地址是怎么定的呢 ?不是只有两条线SDA,SCL吗?为什么不能是0X48呢?和硬件联接有关吗
学习开发利器:AVRmega128开发板,AVR仿真器,AVR编程器,AVR核心板四合一,仅需498元
[15 楼] | Posted: 08-15 11:02 顶端
ilhmp





级别: 新手上路
精华: 0
发帖: 9
威望: 10 点
金钱: 90 VI
贡献值: 0 点
技术积分: 0 点
在线时间:3(小时)
注册时间:2007-08-14
最后登录:2008-05-04
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



刚好准备搞twi,谢谢了~
另外发了一个贴子请教SPI的问题,请admin指教一下~
用你发的例子也调试不了

2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制
[16 楼] | Posted: 08-15 11:44 顶端
ilhmp





级别: 新手上路
精华: 0
发帖: 9
威望: 10 点
金钱: 90 VI
贡献值: 0 点
技术积分: 0 点
在线时间:3(小时)
注册时间:2007-08-14
最后登录:2008-05-04
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



楼主,能发一个主机那边也用中断方式的程序吗?
能力有限时间更有限,帮帮忙~谢谢了

学习开发利器:AVRmega128开发板,AVR仿真器,AVR编程器,AVR核心板四合一,仅需498元
[17 楼] | Posted: 08-16 01:41 顶端
admin

终身成就奖 金点子奖 原创先锋奖 技术群用户
头衔:先行者先行者

级别: 管理员
精华: 72
发帖: 3831
威望: 3906 点
金钱: 85105 VI
贡献值: 60 点
技术积分: 67 点
在线时间:2168(小时)
注册时间:1970-01-01
最后登录:2008-08-11
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



wuxinyangwei: AVR的地址可以编程,其他的一些器件比如24C系列EEPROM可以通过硬件连接来确定地址。

ilhmp: 我们也时间有限哦

本站原创AVR单片机新手入门教程!

AVRVi 与您共同发展! 赠人玫瑰,手留余香。
一份好的资料,放在机器中会成为垃圾文件;
如果共享出来,就能有成千上万的朋友受益;
每人贡献一点,中国的电子技术将迅速提高。
[18 楼] | Posted: 08-16 08:01 顶端
ilhmp





级别: 新手上路
精华: 0
发帖: 9
威望: 10 点
金钱: 90 VI
贡献值: 0 点
技术积分: 0 点
在线时间:3(小时)
注册时间:2007-08-14
最后登录:2008-05-04
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



呵呵~~不好意思~~我以为你会有做好的例子~~没有就算了吧~~昨晚睡觉想想了~~大概知道怎样写了~~正准备写呢~~
2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制
[19 楼] | Posted: 08-16 14:37 顶端
wuxinyangwei





级别: 骑士
精华: 0
发帖: 37
威望: 38 点
金钱: 370 VI
贡献值: 0 点
技术积分: 0 点
在线时间:7(小时)
注册时间:2007-06-29
最后登录:2007-09-07
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



谢谢老古,那个串口的和这个程序这两天正好用上,燃眉之急解决了.
2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制
[20 楼] | Posted: 08-20 11:14 顶端
linjiansheng





级别: 新手上路
精华: 0
发帖: 4
威望: 5 点
金钱: 40 VI
贡献值: 0 点
技术积分: 0 点
在线时间:0(小时)
注册时间:2007-08-20
最后登录:2007-08-23
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



支持古版主,版主的程序,我在GCC里稍加修改,运行很正常。。。
初学者可以拿之借鉴。。。
现在想探讨一下,如何用TWI连续传送32位,48位的数据。。。
请版主赐教啊!!


[ 此贴被linjiansheng在08-23 02:12重新编辑 ]

本站原创AVR单片机新手入门教程!
[21 楼] | Posted: 08-20 15:12 顶端
linjiansheng





级别: 新手上路
精华: 0
发帖: 4
威望: 5 点
金钱: 40 VI
贡献值: 0 点
技术积分: 0 点
在线时间:0(小时)
注册时间:2007-08-20
最后登录:2007-08-23
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



怎么15楼的贴子没人回的:i2c_maste_transt(0x50,i) 中的0X50是从机的地址,请问这个地址是怎么定的呢 ?不是只有两条线SDA,SCL吗?为什么不能是0X48呢?和硬件联接有关吗
说说看

2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制
[22 楼] | Posted: 08-23 20:54 顶端
admin

终身成就奖 金点子奖 原创先锋奖 技术群用户
头衔:先行者先行者

级别: 管理员
精华: 72
发帖: 3831
威望: 3906 点
金钱: 85105 VI
贡献值: 60 点
技术积分: 67 点
在线时间:2168(小时)
注册时间:1970-01-01
最后登录:2008-08-11
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



用AVR做从机,地址可以在程序中设置,如果用硬件,比如AT24c××,它有地址线,这些线的接法决定地址。
学习开发利器:AVRmega128开发板,AVR仿真器,AVR编程器,AVR核心板四合一,仅需498元

AVRVi 与您共同发展! 赠人玫瑰,手留余香。
一份好的资料,放在机器中会成为垃圾文件;
如果共享出来,就能有成千上万的朋友受益;
每人贡献一点,中国的电子技术将迅速提高。
[23 楼] | Posted: 08-25 19:56 顶端
zyy151761822





级别: 新手上路
精华: 0
发帖: 4
威望: 5 点
金钱: 40 VI
贡献值: 0 点
技术积分: 0 点
在线时间:2(小时)
注册时间:2007-09-11
最后登录:2008-04-30
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



这个程序用什么调试比较方便?串口助手还是MOBUS?
本站原创AVR单片机新手入门教程!
[24 楼] | Posted: 09-14 11:17 顶端
admin

终身成就奖 金点子奖 原创先锋奖 技术群用户
头衔:先行者先行者

级别: 管理员
精华: 72
发帖: 3831
威望: 3906 点
金钱: 85105 VI
贡献值: 60 点
技术积分: 67 点
在线时间:2168(小时)
注册时间:1970-01-01
最后登录:2008-08-11
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



QUOTE:
引用第24楼zyy15176182209-14 11:17发表的“”:
这个程序用什么调试比较方便?串口助手还是MOBUS?

JTAG在线仿真

2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制

AVRVi 与您共同发展! 赠人玫瑰,手留余香。
一份好的资料,放在机器中会成为垃圾文件;
如果共享出来,就能有成千上万的朋友受益;
每人贡献一点,中国的电子技术将迅速提高。
[25 楼] | Posted: 09-14 11:27 顶端
yjp4008





级别: 新手上路
精华: 0
发帖: 1
威望: 2 点
金钱: 10 VI
贡献值: 0 点
技术积分: 0 点
在线时间:0(小时)
注册时间:2007-06-07
最后登录:2007-09-17
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



谢谢斑竹!
学习开发利器:AVRmega128开发板,AVR仿真器,AVR编程器,AVR核心板四合一,仅需498元
[26 楼] | Posted: 09-17 23:45 顶端
ganghu1111





级别: 侠客
精华: 0
发帖: 16
威望: 17 点
金钱: 180 VI
贡献值: 0 点
技术积分: 0 点
在线时间:16(小时)
注册时间:2007-09-02
最后登录:2008-02-13
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



TWI的通讯距离最大是多远????
本站原创AVR单片机新手入门教程!
[27 楼] | Posted: 09-19 08:58 顶端
ganghu1111





级别: 侠客
精华: 0
发帖: 16
威望: 17 点
金钱: 180 VI
贡献值: 0 点
技术积分: 0 点
在线时间:16(小时)
注册时间:2007-09-02
最后登录:2008-02-13
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



今天终于测通了TWI,但是和15楼的一样,从机的修改出了点小麻烦。
直接在从机的main.c里改,似乎只有0x51,这个地址能行,其他的就不行了。我试着连接第三片M16的。
明天在改改twi.c里的。

学习开发利器:AVRmega128开发板,AVR仿真器,AVR编程器,AVR核心板四合一,仅需498元
[28 楼] | Posted: 09-19 21:07 顶端
admin

终身成就奖 金点子奖 原创先锋奖 技术群用户
头衔:先行者先行者

级别: 管理员
精华: 72
发帖: 3831
威望: 3906 点
金钱: 85105 VI
贡献值: 60 点
技术积分: 67 点
在线时间:2168(小时)
注册时间:1970-01-01
最后登录:2008-08-11
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



ganghu1111:

1、通讯距离做到200米没有问题。但是没有实际意义,真正有效工作距离在1米就差不多了。
2、修改从机地址,主机和从机的程序都需要修改。

本站原创AVR单片机新手入门教程!

AVRVi 与您共同发展! 赠人玫瑰,手留余香。
一份好的资料,放在机器中会成为垃圾文件;
如果共享出来,就能有成千上万的朋友受益;
每人贡献一点,中国的电子技术将迅速提高。
[29 楼] | Posted: 09-19 21:17 顶端
ganghu1111





级别: 侠客
精华: 0
发帖: 16
威望: 17 点
金钱: 180 VI
贡献值: 0 点
技术积分: 0 点
在线时间:16(小时)
注册时间:2007-09-02
最后登录:2008-02-13
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



谢谢版主!
1。TWI 不就是I2C吗?距离200米,要加驱动和隔离吧?????
2。主机和从机地址是同时修改的。
3。看手册上的描述,TWI的通讯地址范围是0x01-0x7F对吗?0x00是用于广播的。

本站原创AVR单片机新手入门教程!
[30 楼] | Posted: 09-20 08:41 顶端
admin

终身成就奖 金点子奖 原创先锋奖 技术群用户
头衔:先行者先行者

级别: 管理员
精华: 72
发帖: 3831
威望: 3906 点
金钱: 85105 VI
贡献值: 60 点
技术积分: 67 点
在线时间:2168(小时)
注册时间:1970-01-01
最后登录:2008-08-11
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



TWI是板卡级的总线,如果要做远,需要驱动,慢速,没有什么意义 呵呵。

TWI 用得比较多的是同一个设备之间各个模块之间的工作状态管理,比如计算机要管理声卡,显卡,网卡,电源等等。

TWI 通讯地址从1到127,正确。

学习开发利器:AVRmega128开发板,AVR仿真器,AVR编程器,AVR核心板四合一,仅需498元

AVRVi 与您共同发展! 赠人玫瑰,手留余香。
一份好的资料,放在机器中会成为垃圾文件;
如果共享出来,就能有成千上万的朋友受益;
每人贡献一点,中国的电子技术将迅速提高。
[31 楼] | Posted: 09-20 09:22 顶端
ganghu1111





级别: 侠客
精华: 0
发帖: 16
威望: 17 点
金钱: 180 VI
贡献值: 0 点
技术积分: 0 点
在线时间:16(小时)
注册时间:2007-09-02
最后登录:2008-02-13
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



我在准备测试,利用TWI、USART、SPI及1-Wire 总线组成一个系统网络,计划如下:
1.单片机系统与上位PC连接,单片机系统数量<800(MAX)个。用USART连接,轮询方式。中间会加入1-2级中继,以解决实时性问题。协议用RS232或RS485(连接方式根据协议,为3线或2线),这二种通讯方式距离都可超过2KM,实际我用过最远距离800m,还算比较可靠。
2.单片机系统是多CPU独立模块系统,之间连接原本还是想用USART,AVR有双USART的型号。后考虑到AVR强大的在线编程功能,转为倾向于SPI。这样可以在单个数量庞大的系统里,完成单片机程序的下载和升级。对此,我非常感兴趣,也是由51转AVR的主要原因之一。
3.看了版主的TWI通讯实验例子后,感觉若单片机系统各个模块的距离在10cm-50m之间,TWI能完成通讯为什么不用它呢?400k的通讯速率,2线制(加上电源2线)就可以组成一个单片机系统总线网络了。这对安装实施时的是很有意义的。
4.1-Wire 总线主要用于DS18B20。数量应该在10以内。

学习开发利器:AVRmega128开发板,AVR仿真器,AVR编程器,AVR核心板四合一,仅需498元
[32 楼] | Posted: 09-20 09:24 顶端
bing0110



级别: 新手上路
精华: 0
发帖: 4
威望: 5 点
金钱: 40 VI
贡献值: 0 点
技术积分: 0 点
在线时间:3(小时)
注册时间:2007-07-01
最后登录:2007-10-02
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



收藏了
2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制
[33 楼] | Posted: 10-02 22:40 顶端
fly0202





级别: 新手上路
精华: 0
发帖: 6
威望: 7 点
金钱: 60 VI
贡献值: 0 点
技术积分: 0 点
在线时间:2(小时)
注册时间:2007-09-27
最后登录:2008-07-26
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



谢谢
学习开发利器:AVRmega128开发板,AVR仿真器,AVR编程器,AVR核心板四合一,仅需498元
[34 楼] | Posted: 10-03 13:54 顶端
wlecust06





级别: 精灵王
精华: 1
发帖: 176
威望: 189 点
金钱: 2000 VI
贡献值: 0 点
技术积分: 3 点
在线时间:81(小时)
注册时间:2007-04-13
最后登录:2008-07-14
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子

用TWI连续传送32位,48位的数据

我写好了 哦 呵呵 谁要么
2008年网站第一个开源项目 Ethernet IO Kit,单片机上网,网络开发板,网络控制
[35 楼] | Posted: 10-04 10:06 顶端
hhm825





级别: 新手上路
精华: 0
发帖: 5
威望: 6 点
金钱: 50 VI
贡献值: 0 点
技术积分: 0 点
在线时间:0(小时)
注册时间:2007-10-09
最后登录:2008-05-23
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



收藏了
学习开发利器:AVRmega128开发板,AVR仿真器,AVR编程器,AVR核心板四合一,仅需498元
[36 楼] | Posted: 10-09 18:01 顶端
theodorechao





级别: 新手上路
精华: 0
发帖: 1
威望: 2 点
金钱: 10 VI
贡献值: 0 点
技术积分: 0 点
在线时间:0(小时)
注册时间:2007-10-06
最后登录:2007-10-09
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



用TWI连续传送32位,48位的数据
[35 楼] 兄弟你是怎样做的,我正在测试版主的程序,就是不能发多个字节的,
你是怎样实现的,发我一份吧或者上传给大家参考

本站原创AVR单片机新手入门教程!
[37 楼] | Posted: 10-09 21:11 顶端
wlecust06





级别: 精灵王
精华: 1
发帖: 176
威望: 189 点
金钱: 2000 VI
贡献值: 0 点
技术积分: 3 点
在线时间:81(小时)
注册时间:2007-04-13
最后登录:2008-07-14
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



发给大家瞧瞧 我在 古辛的程序上修改的
芯片用的M8L 主机用查询 从机中断 注释都写得很清楚
我是用来向电机发送命令的
从机接受到 数据后通过串口发送给变频电机