在线情况
1
  • 头像
  • 级别
  • 门派
  • 职务总版主
  • 声望+9
  • 财富5
  • 积分3065
  • 经验390701
  • 文章6744
  • 注册2006-03-07
[P]好心楼主有点专业行为,编辑原贴删除你的“[B]要命啊,跪求[/B]”吧[EM03]。这样的贴子描述不会增加回复的机率的。[/P][P]为啥没看到有中断服务程序的?如果有用到中断,得必须有这段代码。[/P][P]你可以选择一个可靠的时钟作为时钟源,以保持时钟一定有效的。比如ACLK。[/P][P]IO口设置是否正确,初始化后,使程序不断有数据输出,用示波器测量其输出引脚是否有信号存在。[/P]
[COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
在线情况
2
  • 头像
  • 级别
  • 门派
  • 职务总版主
  • 声望+9
  • 财富5
  • 积分3065
  • 经验390701
  • 文章6744
  • 注册2006-03-07
实在不行,你换个 while (!(IFG1 & UTXIFG0)); // USART0 TX buffer ready? 试试,未必一定要用“[FACE=Helvetica][SIZE=3]TXEPT[/SIZE][/FACE]”位,不过这样的SPI读入写出是个非常简单的操作才啊。
看样子,你也不太像MSP430新手啊~,你的程序我也大概看过,还真没发理有什么问题呢。
硬件方面没问题?我想你也应该想过了。还是你的“[COLOR=#2b2bd5]ADS_SCLK + ADS_Din + ADS_Dout[/COLOR]”定义有误?估计也不会吧。
[COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
在线情况
3
  • 头像
  • 级别
  • 门派
  • 职务总版主
  • 声望+9
  • 财富5
  • 积分3065
  • 经验390701
  • 文章6744
  • 注册2006-03-07
关于这个“TXTEPT”位我暂还想不起是啥关系。
但是于你后面的这个问题: 无数据里头当然是呈现出为0了,但不意味着他将一直向外发数据。只有在写TXBUF写入一字节操作后,这串口模块就会完成一个向外发送8位数据的操作过程。发完后就表示缓冲器中为空。一个写操作,代表一次发送输出的过程。只有这过程时SI、SCLK上才能呈现出有数据来。
最基本,你对TXBUF执行一次写操作,不管是啥,SCLK的引脚上一定会有时钟输出的。你可以测测这个特征以确定是否设置成功。
[COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
在线情况
4
  • 头像
  • 级别
  • 门派
  • 职务总版主
  • 声望+9
  • 财富5
  • 积分3065
  • 经验390701
  • 文章6744
  • 注册2006-03-07
主机只负责向串行口输出数据,主机只管自己的数据是否输出完,输出则发送标志位为1,如果还在发中,则为0。
而接收的,这里又分主接收和从接收。对于MCU的用户来说,用户的单片机一般为主机。从机只要接收到有时钟变化时,数据将会从从机的SI信号移至内部的移位寄存器中。每一位时钟对应着一位数据。
[COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
在线情况
5
  • 头像
  • 级别
  • 门派
  • 职务总版主
  • 声望+9
  • 财富5
  • 积分3065
  • 经验390701
  • 文章6744
  • 注册2006-03-07
[P]哪来的“软件模拟”啊,你贴的代码全是硬件SPI设置程序啊...。[/P]
[COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
Powered by LeadBBS 9.2 .
Page created in 0.0938 seconds with 5 queries.