📄 说明.txt
字号:
// 用途:演示TWI主从机通讯
// 作者:古欣
// AVR与虚拟仪器 http://www.avrvi.com
// 参与本话题的讨论: http://bbs.avrvi.com/htm_data/30/0707/3370.html
主机主程序
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;
}
}
[Copy to clipboard]
从机主程序:
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)
;
}
[Copy to clipboard]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -