请问个变量定义问题

[复制链接]
1980|4
 楼主| liuyu305 发表于 2008-3-20 15:53 | 显示全部楼层 |阅读模式
pi, ui, spi, IO, pd
/**********************************<br />**<br />**&nbsp;函数名称:&nbsp;&nbsp;mspi_getdata()<br />**&nbsp;函数功能:&nbsp;&nbsp;spi数据接受<br />**&nbsp;入口参数:&nbsp;&nbsp;pin_cs&nbsp;<br />**&nbsp;出口参数:&nbsp;&nbsp;MAX6677的data数据<br />**<br />***********************************/<br /><br />uint16&nbsp;mspi_getdata&nbsp;(&nbsp;uint32&nbsp;pin_cs&nbsp;)<br />{&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;uint16&nbsp;T1;<br />&nbsp;&nbsp;&nbsp;uint16&nbsp;TT;<br />&nbsp;&nbsp;&nbsp;S0SPDR&nbsp;=&nbsp;0x0000;<br />&nbsp;&nbsp;&nbsp;IO0CLR&nbsp;=&nbsp;pin_cs&nbsp;;<br />&nbsp;&nbsp;&nbsp;while(0&nbsp;==&nbsp;(S0SPSR&nbsp;&&nbsp;0x80));<br />&nbsp;&nbsp;&nbsp;IO0SET&nbsp;=&nbsp;pin_cs&nbsp;;<br />&nbsp;&nbsp;&nbsp;T1=&nbsp;S0SPDR;&nbsp;<br />&nbsp;&nbsp;&nbsp;if(0&nbsp;==&nbsp;(T1&0x0004))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TT&nbsp;=&nbsp;((T1&lt&lt1)&gt&gt4);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(&nbsp;TT&nbsp;);&nbsp;//这里有问题,只有强制转换成字符型程序才能运行<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(0x0000);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><br />只有进行强制转换,程序才能运行,不过不强制转换,程序是可以编译通过,但是不能运行<br /><br />请问我哪里错了?一天了,还没解决掉。。
dld2 发表于 2008-3-20 16:09 | 显示全部楼层

不能运行是啥意思?停在while上了?

  
 楼主| liuyu305 发表于 2008-3-20 16:44 | 显示全部楼层

是连main的初始化都不能进行
dld2 发表于 2008-3-20 16:56 | 显示全部楼层

不知道哦

  
 楼主| liuyu305 发表于 2008-3-20 17:39 | 显示全部楼层

找到原因

/*********************************************************************************************************<br />**<br />**&nbsp;函数名称:&nbsp;AD_INT()<br />**&nbsp;函数功能:&nbsp;AD初始化<br />**&nbsp;入口参数:&nbsp;无<br />**&nbsp;出口参数:&nbsp;无<br />**<br />********************************************************************************************************/<br />void&nbsp;AD_INT(&nbsp;void&nbsp;)<br />{<br />&nbsp;uint32&nbsp;H;<br />&nbsp;AD0CR&nbsp;=&nbsp;(1&nbsp;&lt&lt&nbsp;3&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;//SEL&nbsp;=&nbsp;8&nbsp;,选择通道3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((Fpclk&nbsp;/&nbsp;1000000&nbsp;-&nbsp;1)&nbsp;&lt&lt&nbsp;8)&nbsp;|&nbsp;&nbsp;&nbsp;//转换时钟<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;16&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;//软件控制转化操作<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;17&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;//使用11clock操作<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1&nbsp;&lt&lt&nbsp;21&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;//正常工作模式<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;22&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;//正常工作模式<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1&nbsp;&lt&lt&nbsp;24&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;//直接启动ADC<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;27&nbsp;)&nbsp;;&nbsp;//<br />&nbsp;while&nbsp;((&nbsp;AD0DR3&nbsp;&&nbsp;0x80000000)&nbsp;==&nbsp;0&nbsp;);&nbsp;&nbsp;&nbsp;//这个是罪魁祸首。<br />&nbsp;H&nbsp;=&nbsp;AD0DR3&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br />这个原因真的是很怪异,竟然是我ADC初始化的一个while句子的问题&nbsp;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

108

主题

1889

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部