首页
|
电子技术
|
嵌入式
模拟电子
单片机
电源管理
传感器
半导体
电子应用
|
工业控制
物联网
汽车电子
网络通信
医疗电子
手机便携
测试测量
安防电子
家用电子
机器人
新能源
电子头条
|
社区
|
论坛
测评
博客
大学堂
|
下载
|
下载中心
电路图
精品文集
电路图
|
参考设计
|
Datasheet
|
活动
|
直播
datasheet
datasheet
文章
搜索
登录
注册
yangganglone
动态
发布
点评
好友
关于
主题
回复
课程
资料
参考设计
电路图
文章
博客
我算是服了stm8硬件iic了
16/17191
stm32/stm8
2017-09-28
5000322 发表于 2017-7-20 09:49 请版主,说明如何解决的。多谢了!
将STM8的iic引脚配置成开漏,再有注意2个时序一定要吻合,最好跑cos系统,将通讯优先级设定最高! 保证不能被中断打断!因为IIC是有规定,时序最大值和最小值都是有要求的,我这个贴也有3年时间了,想想,希望帮到更多人吧!
基于单片机的公交车刷卡系统
2/2455
单片机
2014-05-02
5百元,我帮你搞定!
我算是服了stm8硬件iic了
16/17191
stm32/stm8
2014-05-02
stm8s003 的PB4和PB5是真开漏,哎呀,没看手册啊!
我算是服了stm8硬件iic了
16/17191
stm32/stm8
2014-05-02
前面是主机的代码。 软件模拟的。 下面是从机的代码。主要是初始化部分,和iic中断部分。 /* MAIN.C file * * Copyright (c) 2002-2005 STMicroelectronics */ #include "103io.h" #include "type.h" void Gpio_Init(void); void Iic_Init(void); u8 temp,temp1,temp2; void Gpio_Init(void) { // CLK_CKDIVR = 0x18; PB4_DDR=1; PB5_DDR=1; PB4_CR1=0; PB5_CR1=0; // PB4_ODR=1; //PB5_ODR=1; } void Iic_Init(void) { CLK_PCKENR1 |= 0x01; //使能IIC外设时钟 I2C_TRISER = 0x02; //上升沿时间 I2C_CR1&=~(1
我算是服了stm8硬件iic了
16/17191
stm32/stm8
2014-05-02
/* MAIN.C file * * Copyright (c) 2002-2005 STMicroelectronics */ #include "208io.h" #include "iic.h" #include "type.h" #define N 8 u8 buf[N]; main() { IIC_Init(); while (1) { AT24CXX_WriteOneByte(0x01); delay_ms(100); buf[0]=AT24CXX_ReadOneByte(); delay_ms(10); AT24CXX_WriteOneByte(0x02); delay_ms(10); buf[1]=AT24CXX_ReadOneByte(); delay_ms(100); } }复制代码
我算是服了stm8硬件iic了
16/17191
stm32/stm8
2014-05-02
u8 AT24CXX_ReadOneByte(void) { u8 temp=0; IIC_Start(); IIC_Send_Byte(0XAB); //进入接收模式 IIC_Wait_Ack(); temp=IIC_Read_Byte(0); IIC_Stop();//产生一个停止条件 return temp; } void AT24CXX_WriteOneByte(u8 cmd) { IIC_Start(); IIC_Send_Byte(0XAA); //发送写命令 IIC_Wait_Ack(); IIC_Send_Byte(cmd); //发送字节 IIC_Wait_Ack(); IIC_Stop();//产生一个停止条件 delay_ms(10); }复制代码 /* MAIN.C file * * Copyright (c) 2002-2005 STMicroelectronics */ #include "208io.h" #include "iic.h" #include "type.h" #define N 8 u8 buf[N]; main() { IIC_Init(); while (1) { AT24CXX_WriteOneByte(0x01); delay_ms(100); buf[0]=AT24CXX_ReadOneByte(); delay_ms(10); AT24CXX_WriteOneByte(0x02); delay_ms(10); buf[1]=AT24CXX_ReadOneByte(); delay_ms(100); } }
最近访客
惠美丽
05-22
吴世勋
02-06
<
1
/
1
>
统计信息
已有
6
人来访过
芯积分:--
好友:1
主题:2
回复:6
留言
你需要登录后才可以留言
登录
|
注册
留言
现在还没有留言
推荐博文
编码器行业发展现状及市场潜力分析报告
瑞芯微RK3566/RK3568开发板安卓11固件ROOT教程,Purple Pi OH演示
晶振PPM误差分析与计算方法
《CMake 构建实战—项目开发卷》—实战分享1-QCC74x SDK 编译
LMR54406DBVR LMR54410规格书 数据手册 电源转换器 4V 至 45V、0.6A/1A 降压转换器...
ESP-NOW WIFI 收发不稳定问题
EST580驾培驾考OBD转速车速转向角转向灯光手刹安全带数据采集器
《RISC-V 体系结构编程与实践(第2版)》阅读心得之一--概览
《STM32H7S78-DK 开发套件二周目评测:简单声音采集之频率检测与显示》
高集成智能硬件伺服电机驱控芯片TMC9660控制步进伺服电机静音高速驱动
RainbowLink USB 协议转换器 测评一:开箱及与硬件赏析
EMC测试基本环境要求 - GM GMW3097 2012
【Follow me第二季第4期】任务三 MIC录音并显示波形
【Follow me第二季第4期】Arduino Nano RP2040 Connect之UART总线
【读书】《RISC-V 体系结构编程与实践(第2版)》-- 结构学习