| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 762 人关注过本帖
标题:请各位哥哥帮忙给回答一下c语言语法,着急中。。。。
只看楼主 加入收藏
moonwait123
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-4-27
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
请各位哥哥帮忙给回答一下c语言语法,着急中。。。。
#define max_pattern    6
#define nb_module_MPHY 1  
typedef struct
{
  volatile uint *RegAddr; /* address of register */
  uint RstVal;            /* reset value */
  uint TestVal;           /* test  value */
} tsModuleControlBusOff;

tsModuleControlBusOff MPHY_module [max_pattern] =
{
 
  
  //eMACPHY Register Set TCU
  {(volatile uint *) &T0_RUN_CTRL  ,0x00000000, 0x00000001},
 
  //CMEM_TCU register set.
  {(volatile uint *) &TL_E2L  , 0x00000000, 0x00000001},
 
  //IDMA_CIP register
  {(volatile uint *) &STRMCFG , 0x00000000, 0x00000001},
 
  {(volatile uint *) &CIPCTRL , 0x00000000, 0x00000002},
  //IDMA_COR register
  {(volatile uint *) &CTRL   , 0x00000000, 0x00000001},
 
  //IDMA_RMI register
  {(volatile uint *) &CCR   , 0x00000000, 0x00000001},
 
};

tsModuleControlBusOff * MPHYModule [nb_module_MPHY] = {
    MPHY_module
};

 uint Errors = STD_OK;
  uint i = 0;
  uint j = 0;
  uint tmp = 0;
  uint nb_module_AHBx = 0;

 
  /* enable module */
  EnableModuleAHBx(AHBxPower);
 
  switch (AHBxPower)
  {                 
      case MPHY_PowerState       : nb_module_AHBx = nb_module_MPHY;
                        break;                  

      /* bad choice */
      default: return STD_ERR;
  }
 
  for (i = 0; i < nb_module_AHBx; i++)
  {
      for (j = 0; j < max_pattern; j++)
      {
         
          switch (AHBxPower)
          {
      
              case MPHY_PowerState : tmp = *(MPHYModule[i]->RegAddr); ------- position 2
   
                                if (tmp != MPHYModule[i]->RstVal)     ------- position 3
                                    Errors++;
   
                                MPHYModule[i]++;   // MPHYModule[i]++ 是什么意思。。。。
                                break;
            
                                
              /* bad choice */
              default: return STD_ERR;
          }
      }

问题:1)MPHYModule[i]++ 是什么意思。。。。,2)j循环再那里能体现出来。。。。3)position 2 and position 3 的MPHYModule 是指同一个吗?
小女子先谢了。。。。
搜索更多相关主题的帖子: c语言 test 
2011-04-27 14:23
风兮飞扬
该用户已被删除
收藏
得分:3 
提示: 作者被禁止或删除 内容自动屏蔽
2011-04-27 14:52
canxden
Rank: 3Rank: 3
来 自:江西奉新
等 级:论坛游侠
帖 子:114
专家分:105
注 册:2011-3-18
收藏
得分:3 
这代码纠结到了我………好多英文……………

一个人能有多坚强,太安静,就成了孤单。
2011-04-27 15:00
因为曾今年少
Rank: 2
等 级:论坛游民
帖 子:131
专家分:62
注 册:2011-4-13
收藏
得分:3 
楼主
挺住!!!
2011-04-27 15:04
dabaichix
Rank: 1
等 级:新手上路
帖 子:3
专家分:3
注 册:2007-10-24
收藏
得分:3 
1:MPHYModule[i] 其实在这里就是MPHYModule[0]。
整个i循环就是要遍历MPHY_mode[]中的6组数据。
MPHYModule本身是个指针数组所以MPHYModule[i][0]~MPHYModule[i][5]分别对应 MPHY_mode[]中的 6组数据
刚进入内循环的时候MPHYModule[i]指针是指向起始地址也就是MPHYModule[i][0]
MPHYModule[i]++;就等同于MPHYModule[i][0 + 1];
2:执行完后MPHYModule[i]指针就由指向第0组数据 变成 指向第1组数据了。依次类推到最后个结束。(j就是用于控制到最后一组数据比较完毕)
3:你怎么会觉得不是同一个呢 a[i]和a[i]难道他们不是同一个a??
2011-04-27 15:22
dabaichix
Rank: 1
等 级:新手上路
帖 子:3
专家分:3
注 册:2007-10-24
收藏
得分:0 
不知道是2楼对第三问是怎么想的~~
case MPHY_PowerState :
    tmp = *(MPHYModule[i]->RegAddr); ------- position 2
    if (tmp != MPHYModule[i]->RstVal)     ------- position 3
        Errors++;
    MPHYModule[i]++;   // MPHYModule[i]++ 是什么意思。。。。
    break;

MPHYModule[i]++;在position 2和position 3之后
下次循环进去两个的地址不都一起变么难道只有一个变了?呵呵
2011-04-27 15:35
林发扬
Rank: 2
等 级:论坛游民
帖 子:38
专家分:56
注 册:2011-4-12
收藏
得分:3 
纠结够了
2011-04-27 18:19
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:3 
指针问题   最有效的工具就是debug

                                         
===========深入<----------------->浅出============
2011-04-27 19:22
快速回复:请各位哥哥帮忙给回答一下c语言语法,着急中。。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018069 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved