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 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32------>第三天,spi补充,uart-dma,NB-loT介绍,At指令,串口透传 -> 正文阅读

[嵌入式]STM32------>第三天,spi补充,uart-dma,NB-loT介绍,At指令,串口透传

spi 补充

uart通讯: 通讯双方波特率,帧格式必须一致

spi通讯: ?通讯双方极性,相位一致

Lcd

/*************************************************
函数名:Lcd_Clear
功能:全屏清屏函数
入参函数:填充颜色COLOR
返回值:无
*************************************************/
void Lcd_Clear(uint16_t Color)               
{	
   unsigned int i,m;
   Lcd_SetRegion(0,0,X_MAX_PIXEL-1,Y_MAX_PIXEL-1);// 设置显示区域(整个屏幕)
	Lcd_WriteIndex(0x2C);//发送命令
   for(i=0;i<X_MAX_PIXEL;i++)
    for(m=0;m<Y_MAX_PIXEL;m++)
    {	
	 LCD_WriteData_16Bit(Color);
    }   
}

uart-dma

/****main.c***/
 	__HAL_UART_ENABLE_IT(&huart1,UART_IT_IDLE); //使能uart1 的空闲中断
	__HAL_UART_CLEAR_FLAG(&huart1,UART_CLEAR_IDLEF);  //  清除uart1 的空闲中断标志
	
	HAL_UART_Receive_DMA(&huart1,uartdmabuff,80); //dma 方式接收最多80个字节,接收到uartdmabuff
	if(uartdmafinished)    //判断dma是否结束
		{
			for(i = 0; i < dmalength; i++)   //打印dma 接收的数据
			{
					printf("%c",uartdmabuff[i]);
			}
			uartdmafinished = 0;//
			HAL_UART_Receive_DMA(&huart1,uartdmabuff,80);  // 启动下次dma 接收
		}


/***stm32f0xx_it.c***/
void USART1_IRQHandler(void)
{
  /* USER CODE BEGIN USART1_IRQn 0 */
	if(__HAL_UART_GET_FLAG(&huart1,UART_FLAG_IDLE) == SET)//uart1 是否空闲, 说明dma 结束了
	{
				__HAL_UART_CLEAR_FLAG(&huart1,UART_CLEAR_IDLEF);  //  清除uart1 的空闲中断标志
			HAL_UART_DMAStop(&huart1);//停止dma接收
			uartdmafinished = 1;//置dma 结束的标志
			dmalength = 80-hdma_usart1_rx.Instance->CNDTR;//得到此次dma接收的字节数
		//该寄存器hdma_usart1_rx.Instance->CNDTR 初始值80, 收到n个字节, 该寄存器为80-n,
		
		printf("finished\r\n");
	}

  /* USER CODE END USART1_IRQn 0 */
  HAL_UART_IRQHandler(&huart1);
  /* USER CODE BEGIN USART1_IRQn 1 */

  /* USER CODE END USART1_IRQn 1 */
}

NB-IoT 介绍

Narrow Band Internet of Things??窄带物联网

?

At指令

模块与计算机之间的通信协议是一些AT指令集

AT+CFUN=0关闭射频功能

AT+CFUN=1开启射频功能

AT+NBAND?查询模组配置频段

AT+NBAND=5配置模组为电信频段

AT+CGSN=1 查询IMEI号

AT+CGSN=1,201612091450303 设置IMEI号

AT+NCDP=XX.XX.XX.XX 设置 IoT 平台 IP 地址(非 COAP 协议可以不配置)

串口透传,格西烽火(使用At指令)

PC 和 stm32 的uart1 通讯

nb 模块和 stm32 的uart2 通讯

stm32 把uart1 收到的数据, 从uart2 发出,

stm32 把uart2 收到的数据, 从 uart1 发出,实现透传

stm32 实现透传:

void USART2_IRQHandler(void)

{

??/* USER CODE BEGIN USART2_IRQn 0 */

if(__HAL_UART_GET_FLAG(&huart2,UART_FLAG_RXNE) == SET)

{

while((USART1->ISR&0x40) == 0) ;

USART1->TDR = USART2->RDR;

}
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-09-27 14:15:39  更:2021-09-27 14:17:08 
 
开发: 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年11日历 -2024/11/26 3:34:38-

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