主题中讨论的其他器件: TM4C123
工具/软件:Code Composer Studio
您好!
我们需要向基于 TM4C129ENCPDT 的控制器板添加 MDB 支持。 为此、我们需要使用9位串行协议、其中第9位用于标识从器件。 我 想知道硬件/库是否支持9位串行协议。
谢谢、
Bill
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
您好!
我们需要向基于 TM4C129ENCPDT 的控制器板添加 MDB 支持。 为此、我们需要使用9位串行协议、其中第9位用于标识从器件。 我 想知道硬件/库是否支持9位串行协议。
谢谢、
Bill
众所周知、较小但较受欢迎的(TM4C123) MCU 支持"9位"、因此可以合理地相信更先进的 MCU (您的)也具有同样的功能。
我在这个(和之前的 MCU 论坛)上的时间比大多数人都长-没有关于查看" 9位"操作的"库支持"的回忆。 (公平地说、这是一个相对较小的用途-对于这里的大多数人来说) 个人而言、我"站在你的一边"-相信第9位可以带来(很多)更多的好处。
我不知道有什么具体的 MDB 支持-您是第一次提到 MDB、我记得...
对于对"UART、9位操作"感兴趣的人、这里是 TM4C123 MCU 手册中的"真实副本"-介绍了这一点。 细节级别"令人惊讶"-并且很感激。
14.3.7 9位 UART 模式
UART 模块提供9位模式、可通过 UART9BITADDR 寄存器的9BITEN 位启用。 此功能在 UART 的多分支配置中非常有用、在该配置中、连接到多个从机的单个主机可以通过某个从机的地址或地址集以及地址字节限定符与该从机进行通信。 所有从器 件在奇偶校验位的位置检查地址限定符、如果置位、则将接收到的字节与预编程地址进行比较。 如果地址匹配、则接收或发送更多数据。 如果地址不匹配、则丢弃地址字节和任何后续数据字节。 如果 UART 处于9位模式、则接收器在无奇偶校验模式下运行。 该地址可以预定义为与接收到的字节匹配、也可以通过 UART9BITADDR 寄存器进行配置。 使用 UART9BITAMASK 寄存器中的地址掩码、匹配可以扩展到一组地址。 默认情况下、UART9BITAMASK 为0xFF、这意味着只匹配指定的地址。
当找不到匹配项时、将丢弃其余数据字节以及清零的第9位。 如果找到匹配项、则会向 NVIC 产生中断、以采取进一步的操作。 后续数据字节和清零的第9位保存在 FIFO 中。 在启用 μ μDMA 和/或 FIFO 操作的情况下、软件可以屏蔽该中断、无需处理器干预。 9位模式下的所有发送事务都是数据字节、第9位清零。 软件可以通过将奇偶校验设置覆盖为粘着奇偶校验来覆盖要置位的第9位(以指示地址)、并为特定字节启用奇偶校验。 为了将传输时间与正确的奇偶校验设置相匹配、地址字节可作为单次传输发送、然后是突发传输。 发送 FIFO 不保存地址/数据位、因此软件应该适当地使能地址位。
[引用 USER="CB1_MOBILE "] 个人而言-我"站在你的一边"-相信第9位会带来(很多)这个表。
对于现有协议、是的、我同意。 它看起来是原始请求适合这种情况。
对于新协议/定制应用程序而言、性能卓越(速度快或速度快)。 易于使用,特别是在 许多应用中,如果您放弃更高级别的协议(HLP),我认为自动售货机属于这一类。 但是、我怀疑现有的9位串行基础设施正与之保持兼容。
Robert