news 2026/10/12 14:54:48

基于ARMCortex-M4F内核的MSP432MCU开发实践【3.1】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于ARMCortex-M4F内核的MSP432MCU开发实践【3.1】

2.主模式

通过设置UCMODEx=11、USCYNC=1,置位UCMST控制位,eUSCI_B模块将被配置为I2C主模式。若当前主机是多主机系统的一部分时,必须将UCMM置位,并将其自身地址编程写入UCBxI2COA寄存器。UCA10=0时,选择7位寻址模式; UCA10=1时,选择10位寻址模式。UCGCEN控制位选择eUSCI模块是否对全呼做出反应。

注意:在启用自身地址检测(UCOAEN=1)的主机模式下,尤其是在多主机系统中,不允许在自己的地址和从机地址寄存器(UCBxI2CSA=UCBxI2COAx)中指定相同的地址。在软件中必须确保不会发生这种情况。这种情况没有硬件检测,结果使eUSCI_B的值不可预测。

(1)I2C主机发送模式

初始化之后,主发送模式通过下列方式启动:将目标从地址写入UCBxI2CSA寄存器,通过UCSLA10控制位选择从地址大小,置位UCTR控制位将主机设置为发送模式,之后置位UCTXSTT控制位产生起始条件。

eUSCI_B模块首先检测总线是否空闲,然后产生一个起始条件,发送从机地址。当产生起始条件时,UCTXIFG0中断标志位将会被置位,此时可将需发送的数据写入UCBxTXBUF发送缓冲寄存器中。一旦有从机地址对地址做出应答,UCTXSTT控制位将立即被清零。在发送从机地址的过程中,如果总线仲裁没有丢失,那么将发送写入UCBxTXBUF中的数据。一旦数据由发送缓冲寄存器移入发送移位寄存器,UCTXIFG0将再次被置位,表明发送缓冲寄存器UCBxTXBUF为空,可写入下次需传送的新字节数据。如果在应答周期之前,没有数据装载到UCBxTXBUF中,那么总线将在应答周期内挂起,SCL保持低电平状态,直到数据写

入UCBxTXBUF中。只要UCTXSTP控制位或UCTXSTT控制位没有置位,将一直发送数据或挂起总线。

主机置位UCTXSTP控制位,可在接收到从机下一个应答信号后,产生一个停止条件。如果在从机地址的发送过程中,或者当eUSCI模块等待UCBxTXBUF写入数据时,UCTXSTP控制位置位,即使没有数据发送到从机,也会产生一个停止条件。如果发送的是单字节数据,在字节发送过程中或数据发送开始后,没有新数据写入UCBxTXBUF,必须置位UCTXSTP控制位,否则将只发送地址。当数据由发送缓冲寄存器移到移位寄存器时,UCTXIFG0将会置位,这表示着数据传输已经开始,可以对UCTXSTP控制位进行置位操作。

置位UCTXSTT控制位将会产生一个重复起始条件,在这种情况下,为了配置发送器或者接收器,可以复位或者置位UCTR控制位,需要时可将一个不同的从地址写入UCBxI2CSA寄存器。

如果从机没有响应发送的数据,未响应中断标志位UCNACKIFG将置位。主机必须产生停止条件或者重复起始条件。如果已有数据写入UCBxTXBUF缓冲寄存器中,那么将丢弃当前数据。如果这个数据必须在重复起始条件后发送,必须重新将其写入UCBxTXBUF中。UCTXSTT的设置也将被丢弃,为了触发重复起始条件,UCTXSTT控制位必须再次置位。

(2)I2C主机接收模式

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/13 8:15:53

开源模型也能商业变现:基于TensorRT的推理API开发指南

开源模型也能商业变现:基于TensorRT的推理API开发指南 在AI应用从实验室走向生产线的过程中,一个常见的困境是:我们手握开源社区中训练得近乎完美的模型——比如YOLOv5、ResNet或BERT——但一旦部署到线上服务,却发现延迟高、吞吐…

作者头像 李华
网站建设 2026/10/13 9:09:20

模拟信号电平转换电路:新手入门必看

模拟信号电平转换实战指南:从零开始搞懂接口设计你有没有遇到过这样的情况?手里的传感器输出是5V,但主控芯片的ADC只能接受3.3V——直接连上去,轻则读数不准,重则烧毁引脚。又或者,采集音频信号时发现波形被…

作者头像 李华
网站建设 2026/10/10 7:29:29

NVIDIA官方TensorRT镜像深度解析:GPU算力优化的秘密武器

NVIDIA官方TensorRT镜像深度解析:GPU算力优化的秘密武器 在AI模型从实验室走向真实世界的过程中,一个看似不起眼却极为关键的环节常常被低估——推理部署。训练完成的模型如果跑得不够快、资源消耗太大,再先进的算法也难以落地。尤其是在视频…

作者头像 李华
网站建设 2026/10/12 16:28:54

高并发场景下的救星:TensorRT优化的大模型推理Pipeline

高并发场景下的救星:TensorRT优化的大模型推理Pipeline 在电商大促的深夜,推荐系统突然迎来百万级用户同时点击;语音助手在会议室里被十几人轮番唤醒;自动驾驶车辆在复杂城市环境中每秒处理数百帧感知数据——这些真实世界的高并…

作者头像 李华
网站建设 2026/10/13 6:35:23

Keil uVision5嵌入式C开发:外设寄存器映射通俗解释

Keil uVision5嵌入式C开发:外设寄存器映射的“人话”解析你有没有过这样的经历?写了一段代码,调了半天发现LED不亮、串口没输出——最后查来查去,问题出在某个时钟没开,或者引脚模式配错了。而真正让你头疼的是&#x…

作者头像 李华