LM3S8962串口多机通信,作为51的从机,如何设置?

Other Parts Discussed in Thread: LM3S8962

51作为主机,lm3s8962作为从机应该怎样设置?

驱动库指南SW-DRL-UG-8555.pdf中有几个新的函数,UART9BitEnable(), UART9BitDisable(),

UART9BitAddrSet(),  UART9BitAddrSend(),是否可以在LM3S8962上使用?

关键是如何读取第9位的值,即51中的RB8?

这个问题困扰了我很久,一直没有解决!请不吝赐教!

  • liu kun :

    你好

     1.UART通信没有主机或是从机一说,这是与SPI,IIC方式一点的不同之处

     2.UART9BitEnable()等有UART9字符的函数名都是LM3S8962中有关UART通信的9位模式的相关设置

     3.确定你使用的51芯片是否支持UART的9位数据模式

     4.UART通信成功的条件是UART两端的设置应相同

  • 1.  单片机构成的多机系统常采用总线型主从式结构。所谓主从式,即在数个单片机中,有一个是主机,其余的都是从机,从机要服从主机的调度、支配。51单片机的串口方式2和3适用于这种主从式通信结构。AVR、80196等单片机多机通信也都是这种方式,分为主从结构。

    2. 在SW-DRL-UG-8555.pdf驱动库用户指南410页上:The availability of 9-bit mode varies with the Stellaris part in use. Please consult the datasheet for the part you are using to determine whether this support is available.

    9-bit模式的有效性,随使用的Stellaris器件而定。 请参阅“数据手册”部分来决定是否这种支持是可用的。

    但是DS-LM3S8962-11108.pdf数据手册上并没有明确说明!

    3. 8051系列当然支持9位数据模式。

    4. 多谢指教!

  • TI官方网站上有一篇文章“Using a 9-bit Software UART with Stellaris.pdf”,即“在群星器件上使用9位软件UART”,代号 AN01280–August 2010,讲的就是我的问题,可惜没有找到代码文件。

    希望有人可以帮忙!

  • 找到了,www.ti.com.cn/.../litabsmultiplefilelist.tsp

    这里是PDF和源代码!回去好好研究,再来汇报!

  • 在“AN01285–November 2011”,即“Differences Among Stellaris® Product Classes”中,第15页,“Table 50. UART StellarisWare Available Functions and Parameters”中指出:Fury系列(包括LM3S8962),不支持UART9BitAddrSend, UART9BitAddrSet, UART9BitDisable,UART9BitEnable几个函数。

    但是还说:Fury系列(包括LM3S8962),不支持UARTIntClear, UARTIntDisable, UARTIntEnable, UARTIntStatus,这就明显错了,我都用了两年了!

    TI的技术人员在应用手册了都会犯这么明显的错误啊!