platform builer 编译时参数传递问题

vic0306   2009-11-14 12:59 楼主
我写了一个从串口输出字符的函数[sent_string()],但是如下面的函数调用时,能输出字符“UVW”,不能输出“AAA”;在ADS1.2里有都能输出。

   char b[]="UVW";   
   init_urat();   
   sent_string(b);
   sent_string("AAA");

回复评论 (12)

引用: 引用 4 楼 91program 的回复:
sent_string()的原型是什么

void sent_char_data(char char_data)
{
        while(!(rUTRSTAT1 & 0x2));          //Wait until THR is empty.   
    WrUTXH1(char_data);
}

//-----------------------------------------------------------------------------------------------------------------------
//sent unsigned string form urat part 1;
void sent_string(char *string_point)
{       
       

        while(*string_point)
        {
                sent_char_data(*string_point);
                string_point++;
               
        }
               
}
点赞  2009-11-14 16:30
关注~~~
点赞  2009-11-14 13:19
sent_string(b); 里面是不是用地址进行操作啊/
点赞  2009-11-14 13:42
引用: 引用 2 楼 trueman_onlyme 的回复:
sent_string(b); 里面是不是用地址进行操作啊/

就是char b[]="UVW"; 的数组指针b呀
点赞  2009-11-14 13:54
sent_string()的原型是什么
点赞  2009-11-14 16:23
void sent_string(char *string_point) 入口参数是地址的指针嘛 sent_string("AAA");  "AAA"是字符串嘛 入口参数的意义就不同啊
点赞  2009-11-14 19:43
引用: 引用 5 楼 tjgcsf 的回复:
引用 4 楼 91program 的回复:
sent_string()的原型是什么

void sent_char_data(char char_data)
{
while(!(rUTRSTAT1 & 0x2));? //Wait until THR is empty.? ?
? ? WrUTXH1(char_data);
}

//-----------------------------------------------------------------------------------------------------------------------
//sent unsigned string form urat part 1;
void sent_string(char *string_point)
{


while(*string_point)
{
sent_char_data(*string_point);
string_point++;

}

}

是不是应该这样判断结束位置呀
while(*string_point!='\0')
点赞  2009-11-14 20:59
引用: 引用 6 楼 cfanlwn 的回复:
void sent_string(char *string_point) 入口参数是地址的指针嘛 sent_string("AAA");? "AAA"是字符串嘛 入口参数的意义就不同啊

这个在ADS1.2编译就没问题
点赞  2009-11-17 19:19
可能是编译器问题吧。。很神奇
点赞  2009-11-18 10:32
引用: 引用 8 楼 tjgcsf 的回复:
引用 6 楼 cfanlwn 的回复:
void sent_string(char *string_point) 入口参数是地址的指针嘛 sent_string("AAA");? "AAA"是字符串嘛 入口参数的意义就不同啊


这个在ADS1.2编译就没问题


编译没有问题,不代表运行时就不存在问题了
我同意6楼的观点,至少你的参数肯定是有问题的
你可以试下传递指向字符串AAA的指针试试看
点赞  2009-11-19 01:27
引用: 引用 8 楼 tjgcsf 的回复:
引用 6 楼 cfanlwn 的回复:
void sent_string(char *string_point) 入口参数是地址的指针嘛 sent_string("AAA");? "AAA"是字符串嘛 入口参数的意义就不同啊


这个在ADS1.2编译就没问题
编译没问题,功能可以实现吗?
点赞  2009-11-19 09:11
引用: 引用 11 楼 cfanlwn 的回复:
引用 8 楼 tjgcsf 的回复:
引用 6 楼 cfanlwn 的回复:
void sent_string(char *string_point) 入口参数是地址的指针嘛 sent_string("AAA");? "AAA"是字符串嘛 入口参数的意义就不同啊


这个在ADS1.2编译就没问题
编译没问题,功能可以实现吗?


我表达有错,编译都没问题,ADS1.2功能能实现,PB编译的无法实现功能
点赞  2009-12-8 11:53
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复