打印

求指导!

[复制链接]
1444|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yangguangaisha|  楼主 | 2012-3-22 00:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
yangguangaisha|  楼主 | 2012-3-22 00:23 | 只看该作者
程序在这里

system.rar

10.51 KB

使用特权

评论回复
板凳
gexingyouxian| | 2012-3-22 00:30 | 只看该作者
LZ把错误的现象描述详细些,直接把源码甩上来大家很难查找错误的

使用特权

评论回复
地板
dgun| | 2012-3-22 16:26 | 只看该作者
提示什么?

使用特权

评论回复
5
zb0830| | 2012-3-22 21:37 | 只看该作者
我下载了楼主的程序,楼主最好把你的问题具体的说下,你的程序编译好像通不过,我用的IAR for MSP430 5.30版。给你分析分析。

使用特权

评论回复
6
zb0830| | 2012-3-22 21:38 | 只看该作者
问题1,你的ADC程序的函数,最后的大括号有问题,少打了一个大括号。

使用特权

评论回复
7
zb0830| | 2012-3-22 21:45 | 只看该作者
void main(void)
{
  volatile unsigned int i;
  WDTCTL = WDTPW + WDTHOLD;
  UARTInit();
  ADC_Init();
  DS18B20_Init();        //理清逻辑!!!
  i = 0;
  while(1)
  {   
    _EINT();
    Vbuffer[i]=average;//AD采样的结果
    DS18B20_ReadTemp();
   /* Tbuffer[i * 3] = ResultTemperatureH;
    Tbuffer[i * 3 + 1] = ResultTemperatureLH;
    Tbuffer[i * 3 + 2]= ResultTemperatureLL;*/
    i++;
    if(i == 10)
    break;
  }
}

以上是你的主程序,我问下楼主想要实现的功能是什么,我根据你的主程看到的是开始AD转换,取DS18B20的温度值,但楼主这样去取AD转换值(Vbuffer[i]=average;//AD采样的结果)似乎有些不合道理吧。最好是在AD的中断作一标志位,当标志位置位了,再将数据读取出来。另外,楼主你的程序可读性较差,养成良好的编程习惯是很有必要的。

使用特权

评论回复
8
zb0830| | 2012-3-22 21:49 | 只看该作者
还有一个问题,你的UART程序放在Uart.h中,按理说程序也是可以的,但最好放在.c文件中,*.h文件一般用于存放一些变量或声明之类的。说的有点多。。。不好意思。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

168

主题

1522

帖子

3

粉丝