《Microduino实战》——3.4 重新认识软件与硬件

简介:

本节书摘来自华章出版社《Microduino实战》一 书中的第3章,第3.4节,作者:姚琪 杨立斌,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.4 重新认识软件与硬件

我们已经做了两个基本实验,一个是串口的打印,另一个是通过数字I/O控制一个LED。以前从未接触过Arduino或Microduino的读者,自然会有不少疑问。比如在硬件上,会问:Microduino-Core有哪些I/O?能够用来做什么?如何使用?而在源代码上,会问:如何用程序中的函数控制这些I/O?有固定的结构和语法吗?
接下来会详细介绍I/O的功能以及程序代码的基础。
在第2章中已经介绍过Microduino-Core各个引脚的功能,这里针对每个引脚重新梳理一下。具体的功能以及程序中对应的地址如表3-1所示。
screenshot
screenshot

进一步认识了硬件接口之后,再看看Arduino程序的基本结构,以及如何用程序控制这些端口。
Arduino的程序结构必须包括setup()和loop(),否则程序无法正常编译,采用的是C或者C++语言。
screenshot
screenshot

除了I/O的操作之外,另一项很有用的功能是串口通信。我们常常用它来调试程序,因为从外部或许只能用肉眼观察LED闪烁等一些物理现象,但根本不知道程序在运行的过程中出现了什么情况,计算得到了什么数值,又据此做出了什么样的动作。如果我们观察到的现象不是我们所预想的,问题可能出现在硬件上,比如连接松动或者线序接错了;也可能是程序中一时疏忽,将某个变量赋值错了。这个时候,串口调试就派上用场了。比如在程序关键位置,通过串口打印出一些数据信息,根据这些数据,我们可以判断是否异常,以便定位程序的状态,最终找到问题所在。
下面介绍串口中最常用的函数。
screenshot

相关文章
|
11月前
|
Java API Apache
除了 Maven,还有哪些工具可以管理项目的依赖和版本冲突
除了Maven,常用的项目依赖管理和版本冲突解决工具有Gradle、Ivy、Ant+Ivy、SBT等。这些工具各有特点,适用于不同的开发环境和需求。
880 2
|
Java 关系型数据库 MySQL
基于Java的KTV点歌系统
基于Java的KTV点歌系统
|
消息中间件 存储 监控
消息队列在分布式系统中如何保证数据的一致性和顺序?
消息队列在分布式系统中如何保证数据的一致性和顺序?
|
6天前
|
人工智能 运维 安全
|
4天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!