首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

flash的读取问题

flash的读取问题

void send_uart(tU08 date){
    while (SCI0SR1_TDRE!=1);
    SCI0DRL=date;
    while(SCI0SR1_TC==0);
 
}


void send_mem(tU08 len ,tU16* startaddr){
tU16 i;   
    for (i=0;i<=len;i++){
      //send_uart((*startaddr)>>8);
      send_uart(*startaddr);
     
      startaddr++;
    }


}
这是我自己写的从串口输出memory的代码,假如我从4000地址开始的数据是40 FC 80 92。。。。


那么用上面的代码显示的是FC 92 。。。。


这是为什么?如果我把注释的地方打开就可以正常显示,我有点糊涂了。。。

正在进行NE64的研究学习,欢迎和我讨论~ saga0807@hotmail.com
这应该与你定义的数据和指针的数据类型有关。
海纳百川  有容乃大
能不能说得具体一点?
正在进行NE64的研究学习,欢迎和我讨论~ saga0807@hotmail.com
tU16* startaddr,你定义的是16位长度|!而你从串口每次发送出去的是8位长度!所以每读一次,当然要发送两次了!
正在使用MC9S12DP256和MC9S12C32,学习MC9S12UF32......
 下一步MC9S12NE64...
把TU16 *startaddr改成 TU08 *startaddr就可以了.
              非学无以广才,非志无以成学;              
哦哦明白了~谢谢大家~看来基础知识没掌握好呵呵~
正在进行NE64的研究学习,欢迎和我讨论~ saga0807@hotmail.com
返回列表