1、CM3计算板的IO资源

CM3支持的I/O管脚数为54个,每个管脚包括一个或多个复用功能,分别位于ALT0~ALT5,如下表:

2、设备树启用IO外设的方式

通过在/boot/config.txt 文件中描述IO行为,可以在系统启动时,初始化IO外设的初始状态,例如,配置为输入输出、上下拉状态以及复选功能。

The gpio directive allows GPIO pins to be set to specific modes and values at boot time in a way that would previously have needed a custom dt-blob.bin file. Each line applies the same settings (or at least makes the same changes) to a set of pins, either a single pin (3), a range of pins (3-4), or a comma-separated list of either (3-4,6,8). The pin set is followed by an = and one or more comma-separated attributes from this list:

  • ip - Input
  • op - Output
  • a0-a5 - Alt0-Alt5
  • dh - Driving high (for outputs)
  • dl - Driving low (for outputs)
  • pu - Pull up
  • pd - Pull down
  • pn/np - No pull

例如:

# 选择 复用功能2 Alt2 GPIO0~GPIO27
gpio=0-27=a2# 设置GPIO12 输出拉高
gpio=12=op,dh# 设置GPIO18 20 为输入上拉
gpio=18,20=pu# 设置GPIO17~GPIO21 为输入
gpio=17-21=ip

3、使用wiringPi C库对IO编程

  • 安装最新wiringPi,安装方法见:安装wiringPi
  • 使用gpio readall 查看是否读取到CM3的所有IO。
  • 编程示例:CM3 GPIO27交替拉高拉低。
  • 编译: gcc -c testGPIO3.c -o run -l wiringPi
  • 执行:./run
#include <wiringPi.h>#define TEST_PIN    27int main(void)
{wiringPiSetup();pinMode(TEST_PIN, OUTPUT);while(1){digitalWrite(TEST_PIN, HIGH);delay(1000);digitalWrite(TEST_PIN, LOW);delay(1000);}return 0;
}

CM3计算板I/O编程相关推荐

  1. CM3计算板RTC闹钟唤醒系统

    1.前言 一个周期性控制系统的核心为CM3计算板,在电池供电情况下要求尽可能提高使用时长.由于系统空闲时长较多,因此在考虑低功耗的情况下将系统关机以进一步降低功耗.需要注意的是,系统关机后需要在指定时 ...

  2. CM3计算板安装硬件时钟DS3231

    1.硬件连接 DS3231是高速(400kHz)I2C接口的实时时钟芯片,0°C至+40°C范围内精度为±2ppm,-40°C至+85°C范围内精度为±3.5ppm,工作电压3.3V,提供电池备份,具 ...

  3. CM3计算板读取SHT30以及I2C驱动

    1.引言 用SHT30测温湿度,SHT30是I2C通信总线,具体信息去看Datasheet文档:https://pdf1.alldatasheet.com/datasheet-pdf/view/897 ...

  4. 无线网络共享到CM3计算板调试时 connect: Network is unreachable

    1.问题描述 硬件连接:电脑(有线+无线) <--有线-->  CM计算板(或其他Linux), 端口:电脑共享的有线网口 192.168.137.1 , CM3配置静态IP 192.16 ...

  5. CM3计算板EC20模组拨号上网

    1.安装 ppp 安装ppp:sudo apt-get install ppp 2.配置路由 查看路由和网卡 ifconfig  ; route -n 增加路由设备: sudo route add d ...

  6. STM32F103固件库编程:关于core_cm3.c的错误

    STM32F103固件库编程:关于core_cm3.c的错误. 解决方法有两种: 1.直接删除固件库中的core_cm3.c文件,keil已有替代文件. 2.ARM编译器版本从6,改回到5. 提示错误 ...

  7. 故障恢复 stm32_硬件编程:77条STM32知识汇总

    1.  SYSCLK时钟源有三个来源:HSI RC.HSE OSC.PLL2.  MCO[2:0]可以提供4不同的时钟同步信号,PA83.  GPIO口貌似有两个反向串联的二极管用作钳位二极管.4.  ...

  8. 硬件编程:77条STM32知识汇总

    1.  SYSCLK时钟源有三个来源:HSI RC.HSE OSC.PLL 2.  MCO[2:0]可以提供4不同的时钟同步信号,PA8 3.  GPIO口貌似有两个反向串联的二极管用作钳位二极管. ...

  9. 可编程led灯带原理_SCPSD-250-04-27派克真空压力传感器故障和工作原理

    SCPSD-250-04-27派克PARKER真空压力传感器故障和工作原理 PARKER压力开关现货    PARKER压力传感器特价  派克真空压力传感器  PARKER数字压力开关 2020年还剩 ...

最新文章

  1. SpringBoot中使用POI实现Excel导入到数据库(图文教程已实践)
  2. int*与(int*)的差别
  3. c语言中的break和continue
  4. 没有varselect这个函数_C++的虚函数,虚析构函数,纯虚函数
  5. 在C ++中检查一个数组是否是另一个数组的子数组
  6. android --- fastboot 协议学习
  7. 在不同浏览器都实用的各窗口大小获取方法
  8. php栏目一二级排序,灵动标签完美实现当前栏目高亮-支持二级栏目及内容页及栏目排序...
  9. Pormetheus(普罗米修斯) 采用blackbox_exporter实现监控
  10. hadoop--环境搭建--域名解析失败
  11. 干货!探索单目车辆估计中的中间几何表示
  12. 2019 中国AI/ MR十大新闻:梦想照进现实!
  13. html5把六张图片做成立方体,一篇文章教会你利用html5和css3实现3D立方体效果图...
  14. 数据库中间件 MyCAT源码分析 —— XA分布式事务
  15. Playful Bunny
  16. [野火]一种Cortex-M内核中的精确延时方法-ns级别-DWT
  17. 基于conga实现RHCS简单部署
  18. 十三届蓝桥杯单片机组省赛真题程序解析
  19. 【洛谷 P1046】[NOIP2005 普及组] 陶陶摘苹果 题解(比较)
  20. 纹章之谜一人攻略——英雄战争篇

热门文章

  1. string.Empty 和 并不总是可以互换的
  2. matlab 处理dat文件画图,matlab_DAT_processing matlab处理dat文件并进行绘图 - 下载 - 搜珍网...
  3. 安装centos7失败认不到硬盘_CentOS7 用U盘安装卡住无法进入安装界面解决方案
  4. matlab 万能,matlab 万能实用的线性曲线拟合方法
  5. mysql索引引擎_mysql搜索引擎和索引那些事
  6. mysql中char,varchar与text类型的区别和选用
  7. 机器学习实战 | SKLearn最全应用指南
  8. Javascript 对象二(Number、String、Boolean、Array、Date、Math、RegExp)
  9. python基础-类
  10. 在C语言中巧用正则表达式