分享

应广单片机MINI

 共同成长888 2020-06-19
 应广科技的MINI-C语法结构,是一种界于标准C和汇编的一种语言,对于小资源的MCU来说,该语法非常精简实用。

   MINI-C中的指针只有一种类型,就是指向字节变量的。定义方式是

   word   point1; //其中word是MINI-C中的一个关键字,用来定义一个16位的变量,因指针可以指向ROM或者RAM,是用16位变量来定义的。

  这里先介绍指针对RAM的访问于操作。

  当定义完指针变量后,用*point1,就可以访问指针所指RAM中的内容了。

  而point1本身的内容则是指向内部RAM地址的。

  已经有几次被用户咨询,MINI-C怎样去访问一个数组,或者直接说不支持。为了方便大家使用,我简单介绍一下。

因为MINI-C本身的数组是不能带变量下标访问的,这就和标准的C区别很大了,习惯于标准C的结构,一下子

不知道该如何去访问了。我和大家稍微介绍下,用MINI-C怎么样去访问一个简单的数组。

   比如,我定义一个16位的数组;

  word word_g[10];

  然后对它进行初始化:

void word_init(void)
{
 word_g[0] = 5;   //请留意目前的版本都只能支持固定的下标,

 word_g[1] = 2;
 word_g[2] = 3;   // 用word_g[i] = xx,i是变量,是不支持的。

 word_g[3] = 17;
 word_g[4] = 1;
 word_g[5] = 6;
 word_g[6] = 20;
 word_g[7] = 4;
 word_g[8] = 0;
 word_g[9] = 10;
  
}

  然后我需要求数组中的最小值:

void get_word_min(void) //取一个数组中的最小值
{
 word point1,point2;
 word word_temp;
 byte i, j;         //类似标准C中的下标
 i = 0;
 word_min = word_g[0];
 while(i < 10)  //10是数组的中数的个数,多求了一次,无所谓
 {
  j = i << 1;
  point1 = word_g; //指针始终指向数组首地址
  point1 += j;         //计算偏移字节
  word_temp$0 = *point1; //求16位数中的低8位
  point1++;                       //指针再加1,指向下一个字节
  word_temp$1 = *point1; //求16位数中的高8位,当然单字节的数组就更简单了
  if(word_min > word_temp) //比较所取数于其他数,大于则交换
      
    word_min = word_temp;
   }
  i++;
  
 
}

仔细看看吧,不理解就用仿真器调试一下。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多