• 大小: 51KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: 其他
  • 标签: stm8  双机通讯  

资源简介

关键在于双机iic通讯,主机发命令给从机,从机根据命令做出相对应的反应,这是一种协议的开发,主要是以后上位机开发中经常用到的协议,比如我传输一帧数据,从机根据这一帧数据做出相对应的操作!核心在于编程的思想.

资源截图

代码片段和文件信息

/* MAIN.C file
master.c

PD3-SDA
PC2-SCL
 * 
 * Copyright (c) 2002-2005 STMicroelectronics
 */


#include “main.h“

#define bq3050_write_address  0x16
#define bq3050_read_address  0x17

#define u8 unsigned char
#define u16 unsigned int
#define uchar u8 
#define uint u16

#define SDA_OUT  PD3_DDR=1
#define SDA_IN   PD3_DDR=0
#define SCL_OUT  PD2_DDR=1
#define SCL_IN   PD2_DDR=0

#define READ_SDA   PD3_IDR
#define READ_SCL   PD2_IDR

#define sda     PD3_ODR
#define scl     PD2_ODR

#define  NACK  1
#define  ACK   0

void iic_init(void);
void iic_start(void);
void iic_stop(void);
void send_ack(void);
void iic_ack(void);
void iic_nack(void);
void delay_us(void);
void write_byte(uchar date);
void write_addr(uchar addressuchar date);
//u8 wait_ack(void);
u8 respons(void);
u8 read_byte(void);
u16 read_addr(u8 au8 addr);
void uart_init(void);
void delay_ms(uint x);
void delay_us_1(void);
u8 read_one_addr(u8 LSBu8 addr);
void send_iic(u8 addru8 dat);
void IIC_Init(void);
void send_decimal(u16 temp);

/***********************************************************
//主函数
**********************************************************/ 
void main()
{
u16 tempkeykey1;
IIC_Init();
iic_init();
uart_init();
while(1)
{
temp=read_addr(0x090x16);
key=read_addr(0x090x60);
key1=read_addr(0x090x61);
send_decimal(temp);
delay_ms(100);
send_iic(0x0atemp%100000/10000);
send_iic(0x0atemp%10000/1000);
send_iic(0x0atemp%1000/100);
send_iic(0x0atemp%100/10);
send_iic(0x0atemp%10/1);

send_iic(0x0akey%100000/10000);
send_iic(0x0akey%10000/1000);
send_iic(0x0akey%1000/100);
send_iic(0x0akey%100/10);
send_iic(0x0akey%10/1);

send_iic(0x0akey1%100000/10000);
send_iic(0x0akey1%10000/1000);
send_iic(0x0akey1%1000/100);
send_iic(0x0akey1%100/10);
send_iic(0x0akey1%10/1);
//send_iic(0x0a0x0a);

delay_ms(100);

}
}
/***********************************************************
//初始化iic
**********************************************************/ 
void iic_init()
{
SDA_OUT;
SCL_OUT;
sda=1; delay_us();
scl=1; delay_us();
}
/***********************************************************
//起始信号
**********************************************************/ 
void iic_start()//起始信号
{
SDA_OUT;
SCL_OUT;
sda=1;
delay_us();
scl=1; 
delay_us();
sda=0;  
delay_us();  
scl=0;
  delay_us();  
}
/***********************************************************
//停止信号
**********************************************************/ 
void iic_stop()//停止信号
{
SDA_OUT;
scl=0;
delay_us();
sda=0;
delay_us();
scl=1;
delay_us();
sda=1 ;
delay_us();
}
/***********************************************************
//主机发nack
********************

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      34157  2013-12-29 11:22  master\Debug\main.ls

     文件      34418  2013-12-29 11:22  master\Debug\main.o

     文件      23958  2013-12-29 11:22  master\Debug\master.elf

     文件       2288  2013-12-28 14:01  master\Debug\master.lkf

     文件      34490  2013-12-29 11:22  master\Debug\master.map

     文件       4118  2013-12-29 11:22  master\Debug\master.s19

     文件      33199  2013-12-29 11:22  master\Debug\master.sm8

     文件       5477  2013-12-29 08:19  master\Debug\stm8_interrupt_vector.ls

     文件       2781  2013-12-29 08:19  master\Debug\stm8_interrupt_vector.o

     文件       8507  2013-12-29 11:22  master\main.c

     文件        374  2013-12-29 13:54  master\master.dep

     文件        897  2013-12-28 14:15  master\master.pdb

     文件      12473  2013-12-28 14:16  master\master.stp

     文件        201  2013-12-29 13:54  master\master.stw

     文件      33404  2013-12-29 13:47  master\master.wdb

     文件      33194  2013-12-29 13:54  master\master.wed

     文件       2292  2013-12-28 14:01  master\Release\master.lkf

     文件       1954  2007-11-13 15:37  master\stm8_interrupt_vector.c

     目录          0  2014-03-26 10:19  master\Debug

     目录          0  2014-03-26 10:19  master\Release

     目录          0  2014-03-28 09:26  master

----------- ---------  ---------- -----  ----

               268182                    21


评论

共有 条评论