[技术问答] 菜鸟初学M058S之数据结构

[复制链接]
 楼主| niuyaliang 发表于 2013-11-27 20:39 | 显示全部楼层 |阅读模式
本帖最后由 niuyaliang 于 2013-11-27 21:11 编辑

新的库改了许多,这就要求用户必须熟悉库里定义的数据结构了,数据结构在M051Series.h中定义,下面是库中定义的所有结构体(部分中文截图来自于MUC100的中文技术参考手册,因为两者的差距不是很大)
  1. __FILE  
  2. ADC_T  
  3. CoreDebug_Type  
  4. FMC_T  
  5. GCR_INT_T  
  6. GCR_T  
  7. GPIO_DBNCECON_T  
  8. GPIO_T  
  9. I2C_T  
  10. NVIC_Type  
  11. PWM_T  
  12. SCB_Type  
  13. SPI_T  
  14. SYSCLK_T  
  15. SysTick_Type  
  16. TIMER_T  
  17. UART_T  
  18. WDT_T  
  19. WWDT_T


 楼主| niuyaliang 发表于 2013-11-27 20:42 | 显示全部楼层
GCR_T
  1. __I uint32_t  PDID
  2. __IO uint32_t  RSTSRC
  3. __IO uint32_t  IPRSTC1
  4. __IO uint32_t  IPRSTC2
  5. uint32_t  RESERVED0 [2]
  6. __IO uint32_t  BODCR
  7. __IO uint32_t  TEMPCR
  8. uint32_t  RESERVED1
  9. __IO uint32_t  PORCR
  10. uint32_t  RESERVED2 [2]
  11. __IO uint32_t  P0_MFP
  12. __IO uint32_t  P1_MFP
  13. __IO uint32_t  P2_MFP
  14. __IO uint32_t  P3_MFP
  15. __IO uint32_t  P4_MFP
  16. __IO uint32_t  P5_MFP
  17. __IO uint32_t  P6_MFP
  18. __IO uint32_t  P7_MFP
  19. uint32_t  RESERVED3 [44]
  20. __IO uint32_t  REGWRPROT


 楼主| niuyaliang 发表于 2013-11-27 21:05 | 显示全部楼层
图像 045.png
  1. __I  uint32_t PDID;


 楼主| niuyaliang 发表于 2013-11-27 21:10 | 显示全部楼层
  1. __IO uint32_t RSTSRC
图像 046.png
主要是识别是因为什么原因而导致系统复位的
 楼主| niuyaliang 发表于 2013-11-27 21:13 | 显示全部楼层
本帖最后由 niuyaliang 于 2013-11-27 21:14 编辑
  1. __IO uint32_t IPRSTC1;
外设复位控制寄存器,可以设置复位的区域
 楼主| niuyaliang 发表于 2013-11-27 21:18 | 显示全部楼层
本帖最后由 niuyaliang 于 2013-11-27 21:20 编辑
  1. __IO uint32_t IPRSTC2;
产生异步复位信号给相应的模块控制器,从图上可以看出,包括以下模块

图像 048.png
 楼主| niuyaliang 发表于 2013-11-27 21:25 | 显示全部楼层
  1. uint32_t RESERVED0[2];
从英文翻译看,应该是定义一个保留的数组,不知道干什么用的?
 楼主| niuyaliang 发表于 2013-11-27 21:29 | 显示全部楼层
  1. __IO uint32_t BODCR;
欠压检测控制寄存器,部分位在配置FLASH位时已经初始化,他们是受保护的,写这些位时,需要被解锁
 楼主| niuyaliang 发表于 2013-11-27 21:31 | 显示全部楼层
  1. __IO uint32_t TEMPCR;
这个是内部自带的温度传感器控制寄存器,他只有一位有效
 楼主| niuyaliang 发表于 2013-11-27 21:33 | 显示全部楼层
  1. uint32_t RESERVED1;
貌似也是个预留位,不知道干什么的
 楼主| niuyaliang 发表于 2013-11-27 21:37 | 显示全部楼层
  1. __IO uint32_t PORCR;
上电复位控制寄存器,MUC100中是受保护的,M058S中没说
 楼主| niuyaliang 发表于 2013-11-27 21:37 | 显示全部楼层
  1. uint32_t RESERVED2[2];
预留位,以后这个不再单独说明
 楼主| niuyaliang 发表于 2013-11-27 21:40 | 显示全部楼层
  1. __IO uint32_t P0_MFP;
  1. __IO uint32_t P1_MFP;
这是IO口的管脚控制寄存器,P0-P7都是
 楼主| niuyaliang 发表于 2013-11-27 21:44 | 显示全部楼层
  1. __IO uint32_t REGWRPROT;
这个就是系统写保护控制寄存器,以下寄存器的写都需要解锁
图像 050.png 图像 049.png
 楼主| niuyaliang 发表于 2013-11-27 21:47 | 显示全部楼层
  1. 01401 typedef struct
  2. 01402 {
  3. 01459     __IO uint32_t  PMD;                        
  4. 01460
  5. 01472     __IO uint32_t  OFFD;                        
  6. 01473
  7. 01522     __IO uint32_t  DOUT;                        
  8. 01523
  9. 01580     __IO uint32_t  DMASK;                       
  10. 01581
  11. 01606     __IO uint32_t  PIN;                        
  12. 01607
  13. 01688     __IO uint32_t  DBEN;                        
  14. 01689
  15. 01778     __IO uint32_t  IMD;                        
  16. 01779
  17. 01932     __IO uint32_t  IEN;                        
  18. 01933
  19. 01998     __IO uint32_t  ISRC;                        
  20. 01999 } GPIO_T;
这个是GPIO的结构体
 楼主| niuyaliang 发表于 2013-11-27 21:50 | 显示全部楼层
  1. __IO uint32_t  PMD;
GPIO模式控制,共有四种模式
 楼主| niuyaliang 发表于 2013-11-27 21:52 | 显示全部楼层
  1. __IO uint32_t  OFFD;
设置IO为数字功能还是模拟功能
万法归宗 发表于 2013-11-27 21:52 | 显示全部楼层
讲的不错,很有帮助
黄小俊 发表于 2013-11-27 21:53 | 显示全部楼层
万法归宗 发表于 2013-11-27 21:54 | 显示全部楼层
niuyaliang 发表于 2013-11-27 21:05

产品识别码怎么读出来呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

212

主题

2427

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部