正点原子-Linux嵌入式开发学习-第二期05

第十三讲:按键实验

1:原理图分析,按键按下低电平进入,不按下高电平

正点原子-Linux嵌入式开发学习-第二期05_第1张图片

 正点原子-Linux嵌入式开发学习-第二期05_第2张图片

 对应的端口为:GPIO1_IO18

 正点原子-Linux嵌入式开发学习-第二期05_第3张图片

 复制上一次工程,记得make clean清除上一次的文件

程序编写 

1:新建key文件夹并新建bsp_key.c和bsp_key.h

2:注意程序需要的引脚号-IOMUXC_UART1_CTS_B_GPIO1_IO18(不要选择错误

IOMUXC_SetPinMux(IOMUXC_UART1_CTS_B_GPIO1_IO18,0);    

IOMUXC_SetPinConfig(IOMUXC_UART1_CTS_B_GPIO1_IO18,0Xf080);

输入与输出不同的点:上拉、关闭输出配置只保留输入

3:读取键值

if((GPIO1->DR >> 18)&0X1 == 0 )
    {
        Beep_switch(ON);
        led_switch(LED0,OFF);
    }

出现的问题

1:突然sd卡识别不到了,ls /dev/sd*显示灰色,此时重启ubuntu解决问题,遇到问题就重启一下,

正点原子-Linux嵌入式开发学习-第二期05_第4张图片

链接脚本的更改 -四字节对齐

正点原子-Linux嵌入式开发学习-第二期05_第5张图片

 修改完成后,进行编译处理,看反汇编代码中的地址

正点原子-Linux嵌入式开发学习-第二期05_第6张图片

 通用GPIO程序编写,提高代码质量正点原子-Linux嵌入式开发学习-第二期05_第7张图片

 

你可能感兴趣的:(linux学习,学习)