最近在用MCP3421,需要用到IIC接口。MCU用的是STM8S105K6T6。使用MCU内部的IIC外设,这个接口配置折腾一下午,遇到了很坑爹的事情。我使用的是寄存器开发的,该设置了感觉都设置好了,就是不能工作。后来以为没配置好,又用库函数来开发,妈的 ,还是不能工作。后来在群里的一位大神的指导下成功的调通了IIC。
闲话有点多,毕竟是我第一次开通博客来写博客的,心情不免有些激动。现在把经验分享给不知道的小伙伴们,少走些弯路。
在使用STM8S105K6T6的IIC前,必须先通过STVP这个软件来进行配置。
这三个步骤是最重要的,当然还需要选择单片机的下载模式,型号什么的,这个不是本文的重点。特别要强调一点,步骤二中
一定要选择第二功能,SCL,SDA。 这个配置好了,然后点击下载就OK了,
现给出寄存器版的IIC初始化代码:
void IIC_Init(void)
{
I2C_CR1 =0x00; //禁止iic
I2C_FREQR = 0x10; //输入时钟频率16MHz
I2C_TRISER= 0x11; //0x10 + 1
I2C_CCRL = 0x50; //16M / 100K / 2
I2C_CCRH = 0x00; //标准模式
I2C_CR1 |= 0x01; //使能iic外设
I2C_OARH = 0x40; //七位地址模式
I2C_OARL = 0xa0; //自身地址0xa0
}
读写代码就简单了,针对不同的器件有略微的变化,但通信协议还是标准的IIC。这里就不贴了。因为我觉得最重要的就是初始化的配置。这个没搞好,后面的都是白搞的。
关键字:STM8S105K6T6 单片机 IIC配置
引用地址:
STM8S105K6T6单片机的IIC配置问题
推荐阅读最新更新时间:2024-11-04 16:24
华虹宏力:专注低功耗MCU技术 持续发力物联网市场
在物联网(IoT)逐渐成为微控制器(MCU)的主要应用市场之后,开发具备高能效比的MCU产品成为各厂商的重点方向。而一款低功耗MCU的成功开发,是内核、外设电路和工艺三方面共同作用的结果。随着新工艺技术的不断推出,制造工艺的重要性正在不断提升。 专为物联网打造 超低功耗工艺平台 根据预测,到2020年左右,世界上将有超过500亿台设备实现联网。这使得有关物联网的话题备受行业瞩目。然而,如此之多的设备连接进入网络(很多设备是无线联网),必将对芯片功耗十分敏感。具有低功耗、高性能的MCU解决方案,可以简化系统设计,降低整体功耗,帮助系统设计人员将联网设备更快推向市场。因此,随着物联网市场的发展,具备高集成、低功耗的MCU日益受到市场欢
[半导体设计/制造]
NRF24L01发送程序(单片机是STC89C52)
#include reg52.h #include intrins.h typedef unsigned int uint; typedef unsigned char uchar; #define TX_ADDR_WITDH 5//发送地址宽度设置为5个字节 #define RX_ADDR_WITDH 5//接收地址宽度设置为5个字节 #define TX_DATA_WITDH 8// #define RX_DATA_WITDH 8 #define R_REGISTER 0x00 // 读寄存器 #define W_REGISTER 0x20 // 写寄存器 #define R_RX_PLOAD 0x
[单片机]
SH-3系列单片机的程序设计关键技术
SH一3是Renesas公司SupezH系列的高端32位RISC构架单片机系列,具有低功耗、高性能、集成MMU、cache和电源管理模块等特点,处理速度为60~260MIPs。SH-3包括SH7705、SH7708、SH7709、SH7727、SH7729等单片机,广泛应用于彩色打印机、扫描仪、DVD解码器等高端数码设备上。SH7709S是SH-3系列中有代表性的一款单片机,文中介绍方法均在SH7709S的系统中得到验证。 主要介绍程序设计时三个关键部分:建立中断处理程序结构、初始化C程序中赋初始值的变量和上电初始化流程。 1 建立中断处理程序结构 SH-3的中断处理方式与一般处理器不同,没有固定的中断向量表,比较灵括,用
[应用]
MCU-ISP和ICP的区别
对Flash-based的MCU来说, ISP和ICP几乎是不可或缺的功能, 但我们经常被这两个功能搞混, 究竟他们的差别在哪里? 对客户的意义又是什么?在这里, 和大家分享并澄清一些观念, 希望对大家有所帮助, 进而解答来自客户关于ISP与ICP的疑问. 1)在开发阶段 改code时, 不再需要将MCU从板子上拔起来, 拿到烧录器上烧, 然后再装回去. 可以直接利用ISP/ICP Programmer做板上烧录, 为开发者提供了极大的便利性. 2)在量产阶段 客户可以采用 先焊到板子上再烧code 的方式, 将烧code的动作安排在生产线的某一站. 那么传统的方式 (先将code烧好再焊到板子上)有
[单片机]
MCU在手机与平板电脑中的应用
MCU在当前手机与平板电脑应用中主要用作诸如电容式触摸感应接口、触摸屏接口、摄像头接口、不同模拟传感器输入检测、USB接口以及电池充电与监控等众多功能的协处理器。此外,负责互连上述功能的所有逻辑和接口都可以采用像用于模拟输入的ADC、用于蜂鸣器应用的PWM、段式LCD、字符型LCD、图形化LCD、用于音量控制的DAC、USB接口以及电容式触摸屏接口等各种可用组件模块设计而成。 本文将探讨MCU和可编程片上系统(PSoC)在手机与平板电脑应用中的作用,并对此类应用存在的系统限制和设计挑战进行评估。采用可编程器件既可以通过降低BOM成本、缩短设计周期时间来降低整体产品成本,还可以通过加快开发进程节约项目成本。
[电源管理]
51单片机的波特率
最近使用51单片机的时候,设置串口的波特率,需要多种,固先记下来,晶振更改的时候可以通过excel中的改动来调整(excel在126中email的网盘中《51单片机的波特率.et》) 下面列表是基于定时器2的方式2,自动重装的方式 晶振 11.0592 11059200 波特率 寄存器的值 1200 288 65248 FEE0 2400 144 6
[单片机]
MSP430FW42X 无磁传感器水表解决方案
MSP30FW42Xc 具有功耗低(静态电流小于 4 微安)、测量流量范围宽、精度高、稳定性和一致性好的特点,尤其在小流量下亦保持了很高的测量精度,同时丝毫不受各类水锈、杂质的影响,特别适合在水质较差的供热环境下长期使用而不影响测量精度。 一、单片机主要性能 MSP430FW42X 系列单片机是 TI 针对电子式流量与旋转运动检测最新开发的专用 MCU 芯片,它将超低功耗 MCU 、旋转扫描接口( Scan IF )和液晶显示 LCD 驱动模块完美地结合为一体,该器件的超低功耗结构和流量检测模块不仅延长了电池的寿命,同时还提高了仪表的精度与性能。 MSP430FW42X 除了完全兼容现有 MSP 430
[单片机]
爱特梅尔成立深圳大学–Atmel AVR微控制器实验室
爱特梅尔公司(Atmel® Corporation) 宣布,基于企业与高校联手培养合格工程师的共同目标,深圳大学–Atmel AVR微控制器实验室于2010年4月29日正式挂牌成立,成为爱特梅尔公司在中国地区的11个AVR微控制器大学实验室之一。该实验室将承担机电与控制工程学院本科生微控制器的实践教学,并作为深圳大学机电与控制工程学院的科研实践基地,成为推动双方长远发展、更好合作的开端。 深圳大学–Atmel AVR微控制器实验室成立暨揭牌仪式于4月29日在深圳大学科技楼3号报告厅举行。深圳大学副校长阮双琛教授、深圳大学教务处处长徐晨教授、深圳大学设备处副处长张红兵教授、机电与控制工程学院院长徐刚教授、机电与控制工程
[单片机]