news 2026/5/1 10:27:36

基于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/4/17 2:19:19

手把手教你搭建RAG系统:解决大模型幻觉问题,程序员必学收藏指南

本文分享了作者从头搭建RAG系统的实践经历。RAG通过检索增强生成解决大模型幻觉问题,提供可靠信息来源。文章详细介绍了系统搭建步骤(文档加载、文本分割、向量嵌入存储等)及实现过程中遇到的技术难题(数据更新、本地AI设置、嵌入…

作者头像 李华
网站建设 2026/4/28 13:51:03

科研协作匹配平台:研究方向关联由TensorRT智能发现

科研协作匹配平台:研究方向关联由TensorRT智能发现 在当今跨学科融合日益频繁的科研生态中,如何快速找到潜在的合作对象,已成为许多研究者面临的真实挑战。传统的“靠人脉”或“看单位”的合作模式正逐渐被数据驱动的智能匹配所取代。越来越多…

作者头像 李华
网站建设 2026/5/1 7:57:45

ST7789V SPI模式配置超详细版操作指南

ST7789V SPI驱动实战指南:从硬件连接到稳定显示的全链路解析你有没有遇到过这样的场景?新买的2.4寸TFT屏,接上STM32后只显示白屏、花屏,或者图像上下颠倒?明明代码烧进去了,屏幕却毫无反应。如果你正在使用…

作者头像 李华
网站建设 2026/5/1 3:48:39

24-Redis Cluster 核心解析:分布式架构入门指南

目录 前言 一、Redis Cluster 的核心定位:解决什么核心问题? 二、Redis Cluster 核心特性:关键设计与原理 2.1 核心架构:主从节点与哈希槽 2.2 核心特性:无需实操也能懂的关键能力 2.3 与主从 + 哨兵架构的核心区别 三、Redis Cluster 的适用场景与局限性 3.1 适用场景 3.…

作者头像 李华
网站建设 2026/5/1 8:47:21

uniapp 返回上一页再进入当前页mounted不执行

最近做项目,使用的uniappvue2.碰到了一个问题。在页面跳转时。如a页面跳转到b页面。点击返回到A页面,再次进入到b页面。在mounted函数中的自定义函数不执行。其实是因为自己基础知识的不扎实,以及vue生命周期的了解不够。经过各种尝试以及网上…

作者头像 李华
网站建设 2026/5/1 8:35:01

零时差部署:基于vLLM-ascend在昇腾NPU上极速跑通DeepSeek-V2-Lite

零时差部署:基于vLLM-ascend在昇腾NPU上极速跑通DeepSeek-V2-Lite资源导航: 昇腾模型开源社区:https://atomgit.com/Ascend免费算力申请:https://ai.gitcode.com/ascend-tribe/openPangu-Ultra-MoE-718B-V1.1?source_modulesearc…

作者头像 李华