zoukankan      html  css  js  c++  java
  • C语言 将整数写入内存指定的连续字节单元中

    将整数数组写入0x40003000开始的连续10个字节内存单元中,注意unsigned char *指向一个字节,而int *指向1个字(4个字),但是可以把字中存储的整数放入字节单元中,只要不超过表示的范围,注意虽然unsigned char *是指无符号的字节指针,但是它也可以指向有符号的数,有没有符号无所谓啦,只要是指向1个字节的指针即可,所以是char*也行,试过了。

    //数据写入存储器
    void WriteToMemory(int *pSnAddr,int nCnt,unsigned char *pDnAddr)//或者 char*
    {
    int i;
      if (nCnt<=0) return;                 
      for(i=0;i<nCnt;i++)
      {
         *pDnAddr++=*pSnAddr++;   //将pSnAddr指向的字节单元数据写入pDnAddr指向的字节单元
                                  //pSnAddr加1,pDnAddr加1
      }
    }




    int main()
    {
     int i;
     int buffer[10]={23,-24,45,1,2,-7,6,8,5,-3};
     int readbuffer[10]={0};     
     WriteToMemory((int *)buffer,10,(unsigned char *)0x40003000);/ /或者 char*

     return 0;
    }

    在codewarrior中实验结果如下


    在ARMUL仿真对象下运行后,右键,format 选择decimal显示,就可以看到,写入成功了



  • 相关阅读:
    使用SuperWebSocket 构建实时 Web 应用
    slam for Windows 库安装及应用libfreenect2
    《SLAM十四讲》g2o_custombundle在windows轻松调通
    windows下命令行查看库依赖
    zend studio控制台中文乱码
    http协议转
    mysql 字段 增删改
    PHP内部函数
    分层设计
    SecureCRT上传和下载
  • 原文地址:https://www.cnblogs.com/unflynaomi/p/4476853.html
Copyright © 2011-2022 走看看