IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 4.中断与串口【七天物联网智能家居训练营】 -> 正文阅读

[嵌入式]4.中断与串口【七天物联网智能家居训练营】

本文是百问网七天物联网智能家居训练营学习笔记,官网链接

1 中断

我们先来看一下什么是中断:
在这里插入图片描述
其实这种就是前后台的程序设计模式。

我们来看下CM3内核都有哪些中断,如下表:
在这里插入图片描述
对于CM3内核的单片来说,其中断由NVIC进行管理,NVIC即嵌套中断向量管理器。

NVIC可以设置优先级,优先级主要分为抢占优先级和子优先级。

对于给定抢占优先级和子优先级的中断来说,按如下方式进行抢占:

  • 抢占优先级高的中断可以中断抢占优先级低的中断。
  • 两个中断的抢占优先级相同,后来中断要等前面的中断处理完。
  • 两个中断的抢占优先级相同,同时产生,子优先级高的先执行。
  • 抢占优先级、子优先级相同,同时产生,由中断向量表默认位置决定。

对于GPIO中断,还有专门的外部中断/事件控制器进行处理:
在这里插入图片描述

2 串口

我们先来看下通信的一些基本知识:

先了解并行通信和串行通信:
在这里插入图片描述
串行同行的好处是所需通信线比较少,但是速度相对较慢;并行通信的话速度会快很多,但是所需的通信线较多。

然后还要了解下全双工、半双工、单工通信:
在这里插入图片描述
我们这里的串口通信就属于全双工通信。

下面再简单看下同步通信和异步通信:
在这里插入图片描述
异步通信的话无须同步时钟,如串口通信;同步通信的话需要专用的时钟线,比如I2C、SPI等。

对于串口点平我们常听到的TTL电平和RS232、RS485电平对比如下:
在这里插入图片描述
TTL电平一般用于板内通信,而RS232、RS485则用在远距离通信。

如下为串口连接方式和串口时序:
在这里插入图片描述

3 代码实现

如下为无须勾选微库就可以使用printf的方式:

/* USER CODE BEGIN 1 */
/*
* 添加如下代码,可不在工程设置中勾选Use MicroLIB
*/
#pragma import(__use_no_semihosting)

struct __FILE
{
	int a;
};

FILE __stdout;
FILE __stdin;

void _sys_exit(int x)
{
}


/*****************************************************
*function: 写字符文件函数
*param1: 输出的字符
*param2: 文件指针
*return: 输出字符的ASCII码
******************************************************/
int fputc(int ch, FILE *f)
{
	HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, 10);
	return ch;
}
/*****************************************************
*function: 读字符文件函数
*param1: 文件指针
*return: 读取字符的ASCII码
******************************************************/
int fgetc(FILE *f)
{
	uint8_t ch = 0;
	HAL_UART_Receive(&huart1, (uint8_t*)&ch, 1, 10);
	return (int)ch;
}
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:39:38  更:2022-07-17 16:42:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 12:07:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码