[X]关闭

PS端通过寄存器点灯总结

文档创建者:ぉ沙皮狗的忧伤
浏览次数:9299
最后更新:2019-10-31
本帖最后由 ぉ沙皮狗的忧伤 于 2019-10-31 10:02 编辑

1、先了解MIO的结构


2、具体操作方法


3、手册使用章节
     14章GPIO口的介绍
      
     B19章寄存器模块介绍
      
     B28章系统寄存器介绍
      

4、查看原理图
   MIO51这个。。。。。,我就是看了这里耽搁好几天时间,MIO51根本无法驱动,我也不知道这里LED灯是干啥的
      

   MIO7 PS端的LED灯,可以驱动

      

5、编写驱动代码

  
    步骤1申请设备号、创建类设备等等
    步骤2不需要重置,直接配置GPIO口时钟
    iowrite32(ioread32(led_CLK_2) | (0x1<<22), led_CLK_2);
   
   

   步骤3配置DIRM和OEN
   // 设置管脚功能为输出模式
   iowrite32(ioread32(GPIO_DIRM) | (0x80), GPIO_DIRM);
   //输出使能
   iowrite32(ioread32(GPIO_OEN) | (0x80), GPIO_OEN);
   
  
   
  

  步骤4
  //配置MIO 7管脚功能为上拉
  iowrite32(0x00003600, MIO_PIN_7);

   

步骤5,输出数据   
方法一:
     //将输出数据写入MASK_DATA_2_MSW寄存器
     iowrite32(0xff7f0080, GPIO_DATA_MSW);

      方法二,
     //将输出数据写入DATA_0寄存器
     iowrite32(ioread32(GPIO_DATA_0) | (0x80), GPIO_DATA_0);
     
6、注意事项
MASK_DATA_0_LSW寄存器高16MASK,为0的时候刷新对应pin脚的值,也就是低16位对应的数据


注册MIO_PIN_07,GPIO手册中没有提及,但一定要配置,勿忘


14章GPIO介绍第一条就是去配置GPIO_RST_CTRL寄存器,这个不用配




7、总结
   ①、懂得太少
   ②、不够细致
   ③、交流的人太少



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

发表评论已发布 2

ぉ沙皮狗的忧伤

发表于 2019-10-30 16:52:02 | 显示全部楼层

代码在附件中

uisrc

发表于 2019-10-30 19:31:25 | 显示全部楼层

越努力越幸运!加油!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则