MSP430代码
4.1.1
TC5405概述
如图
一个10位串行传输是需要设置五个输出上TCA5405 。第一
4位, 0101 ( S0 - S3 ) ,作为开始标志的TCA5405 。 S0是一个起始位和S1 -S3是时钟感
位用于TCA5405 。下一个5位( D4- D0)与每个输出端相关联的数据位。该
第十位返回串口线回高准备了TCA5405下一个输入。
在源代码中,有两种方法来处理该通信。这些功能位于
Single_Wire.c
1.使用GPIO (通用输入/输出),时钟延迟模仿S0 -D0 。
MSP430的定时器2.使用一个改变输出在指定的位间隔。
4.1.2
bit_bang_TCA5405_byte (无符号字符的字节)
该功能bi_bang_TCA5405_byte (无符号字符型字节)将模拟所需要的10位
与TCA5405沟通。该功能的工作原理很简单,通过驱动GPIO引脚为高或低
并利用该_delay_cycles ()函数来保存该值。在每个断言的GPIO引脚
_delay_cycles ( 16 )被称为等待大约2微秒的下位之前。处理该部分
数据位(D4 - D0)只使用一个_delay_cycles (10)的功能;这是调整为如果付出的时间
语句。
4.1.3
send_TCA5405_byte
该功能send_TCA5405_byte (无符号字符型字节)随着5405_Timer_ISR ( )实现
利用MSP430定时器的一个必需的串行数据。当一个字节被发送到send_TCA5405_byte ()
该函数将开始标志(S0- S3),以开始和停止位(1)的端部(LSB) ,存储
新值到一个全局变量,并启动定时器中断。之后的时钟周期定义的一组数
通过NEXT_BIT_TIME , 5405_Timer_ISR ()被调用,并调整P2.0输出相应。
注意:
开始标志S0- S3被硬编码到每一种方法
SCPU034
–
2011年12月
TCA7408EVM,TCA5405EVM
版权
©
2011年,德州仪器
5