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

[复制链接]
6342|56
 楼主| niuyaliang 发表于 2013-11-27 21:54 | 显示全部楼层
  1. __IO uint32_t  DOUT;
IO配置为输出时,配置输出的状态,输出高电平或者低电平
万法归宗 发表于 2013-11-27 21:55 | 显示全部楼层
niuyaliang 发表于 2013-11-27 21:52
设置IO为数字功能还是模拟功能

这句话是怎么看出来是io功能的,中文资料里的么,还是。。。
万法归宗 发表于 2013-11-27 21:56 | 显示全部楼层
niuyaliang 发表于 2013-11-27 21:54
IO配置为输出时,配置输出的状态,输出高电平或者低电平

还有这句话,只看代码配合数据手册也看不出这条语句的功能吧
 楼主| niuyaliang 发表于 2013-11-27 21:56 | 显示全部楼层
万法归宗 发表于 2013-11-27 21:54
产品识别码怎么读出来呢?

该位为只读位,直接读取即可呀
 楼主| niuyaliang 发表于 2013-11-27 21:58 | 显示全部楼层
万法归宗 发表于 2013-11-27 21:55
这句话是怎么看出来是io功能的,中文资料里的么,还是。。。

图像 052.png
 楼主| niuyaliang 发表于 2013-11-27 21:59 | 显示全部楼层
万法归宗 发表于 2013-11-27 21:56
还有这句话,只看代码配合数据手册也看不出这条语句的功能吧

技术参考手册里面有详细说明,对寄存器的说明
 楼主| niuyaliang 发表于 2013-11-27 22:02 | 显示全部楼层
  1. __IO uint32_t  DMASK;
当该位为1时,相应的DOUT被写保护,应该是防止干扰,怕误操作的
万法归宗 发表于 2013-11-27 22:11 | 显示全部楼层
明白了,明白楼主的意思了
 楼主| niuyaliang 发表于 2013-11-27 22:17 | 显示全部楼层
  1. __IO uint32_t  PIN;
该位为只读位,可以读取IO的状态,为高电平还是低电平
 楼主| niuyaliang 发表于 2013-11-27 22:19 | 显示全部楼层
  1. __IO uint32_t  DBEN;
使能或者禁止IO的去抖动功能
 楼主| niuyaliang 发表于 2013-11-27 22:21 | 显示全部楼层
  1. __IO uint32_t  IMD;
设置IO的中断方式,边沿还是电平中断,前提是需要使能中断
 楼主| niuyaliang 发表于 2013-11-27 22:25 | 显示全部楼层
  1. __IO uint32_t  IEN;
使能或者禁止IO的具体的中断模式,应该还有个寄存器可以可以开启IO的中断
 楼主| niuyaliang 发表于 2013-11-27 22:27 | 显示全部楼层
  1. __IO uint32_t  ISRC;
可以读取IO是否在中断状态,写1可以清除IO的中断标志
 楼主| niuyaliang 发表于 2013-11-27 22:31 | 显示全部楼层
  1. 02001 typedef struct                                 
  2. 02002 {                                               
  3. 02038     __IO uint32_t  DBNCECON;                    
  4. 02039 } GPIO_DBNCECON_T;
这个是外部中断去抖动的控制寄存器,设置去抖动的采样周期和时钟源
 楼主| niuyaliang 发表于 2013-11-27 22:35 | 显示全部楼层
  1. 04319 typedef struct
  2. 04320 {
  3. 04374     __IO uint32_t PWRCON;
  4. 04375
  5. 04387     __IO uint32_t AHBCLK;
  6. 04388
  7. 04448     __IO uint32_t APBCLK;
  8. 04449
  9. 04474     __IO uint32_t CLKSTATUS;
  10. 04475
  11. 04506     __IO uint32_t CLKSEL0;
  12. 04507
  13. 04561     __IO uint32_t CLKSEL1;
  14. 04562
  15. 04577     __IO uint32_t CLKDIV;
  16. 04578
  17. 04601     __IO uint32_t CLKSEL2;
  18. 04602
  19. 04627     __IO uint32_t PLLCON;
  20. 04628
  21. 04645     __IO uint32_t FRQDIV;
  22. 04646
  23. 04647 } SYSCLK_T;
这个是系统时钟配置的结构体定义
 楼主| niuyaliang 发表于 2013-11-27 22:40 | 显示全部楼层
  1. __IO uint32_t PWRCON;
系统掉电控制寄存器,是受保护滴,写的时候需要解锁
 楼主| niuyaliang 发表于 2013-11-27 22:42 | 显示全部楼层
系统掉电控制寄存器的寄存器位,待板子回来后看看,是否可以位寻址,或者是还必须自己定义呢
图像 053.png
 楼主| niuyaliang 发表于 2013-11-27 22:47 | 显示全部楼层
  1. __IO uint32_t AHBCLK;
用来使能或者控制ISP时钟
 楼主| niuyaliang 发表于 2013-11-27 22:48 | 显示全部楼层
  1. __IO uint32_t APBCLK;
用来使能或者禁止APB时钟
 楼主| niuyaliang 发表于 2013-11-27 22:49 | 显示全部楼层
APB时钟的包括范围
图像 054.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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