安服优-B-1 人体红外测温传感器——ZYNQ学习笔记23

后续更新IIC驱动方案

通信协议简介:

B-1 红外测温模块可以支持 UART 或者 IIC 从机两种协议方式,模块上电时默

认为串口协议,5 秒内未接收到串口命令则自动切换到 IIC 协议,在串口协议与

IIC 协议中均为配置模块的协议方式,当配置协议方式后,模块会禁用自动协议

切换,再次上电会直接切换至配置的协议方式。

使用UART0作配置端口,UART1做调试端口

UART通信协议比较简单,这里放置顶层文件

cs 复制代码
#include "xparameters.h"	//器件参数信息
#include "xuartps.h"		//包含 PS UART 的函数声明
#include "xil_printf.h"		//包含 print()函数
#include "xscugic.h"		//包含中断的函数声明
#include "stdio.h"			//包含 printf 函数的声明
#include "xscugic.h"		//
#include "sleep.h"
#include "uart.h"
#include "intr.h"

XUartPs Uart0ps	;
XUartPs Uart1ps	;
XScuGic Intc	;

float calculate_temperature(unsigned char high_byte, unsigned char low_byte);

u8 buffer[64];
int bytes_received;
u8 get_data_flag;
unsigned int result;

int main(){
	uart0_config(&Uart0ps);
	uart1_config(&Uart1ps);
	intr_config(&Intc,&Uart0ps);

	uint8_t cmd[] = {0xAA, 0xA5, 0x03, 0x01, 0x04, 0x55};		//查询温度

	float temperature = 0;

	while(1){
		sleep(1);
		uart0_send_bytes(cmd, sizeof(cmd));
		temperature = calculate_temperature(buffer[get_data_flag+4],buffer[get_data_flag+5]);
		uart1_printf("人体温度 = %.2f\r\n",temperature);
//		uart1_printf("%x %x %x %x\r\n",buffer[get_data_flag+4],buffer[get_data_flag+5],
//										buffer[get_data_flag+6],buffer[get_data_flag+7]);
	}
}

float calculate_temperature(unsigned char high_byte, unsigned char low_byte) {
    unsigned int raw_value = (high_byte << 8) | low_byte;
    float temperature = raw_value / 10.0f;
    return temperature;
}

完整工程请后台私聊;

相关推荐
EnglishJun几秒前
ARM嵌入式学习(十九)--- 字符设备驱动的注册与调用流程
arm开发·学习
Hammer_Hans9 分钟前
DFT笔记40
笔记
我登哥MVP10 分钟前
【Spring6笔记】 - 15 - Spring中的八大设计模式
java·spring boot·笔记·spring·设计模式·intellij-idea
Engineer邓祥浩12 分钟前
JVM学习笔记(8) 第三部分 虚拟机执行子系统 第7章 虚拟机类加载机制
jvm·笔记·学习
深蓝海拓14 分钟前
基于QtPy (PySide6) 的PLC-HMI工程项目(七)上位机通信部分的初步建设:socket客户端
网络·笔记·python·学习·plc
送外卖的CV工程师15 分钟前
STM32 CubeMX Makefile 工程编译 入门指南
stm32·单片机·嵌入式硬件·学习·makefile·stm32cubemx
喜欢吃燃面16 分钟前
Linux 进程间通信:命名管道与 System V 共享内存深度解析
linux·运维·服务器·学习
绛橘色的日落(。・∀・)ノ17 分钟前
机器学习笔记
笔记
承渊政道28 分钟前
【递归、搜索与回溯算法】(递归问题拆解与经典模型实战大秘笈)
数据结构·c++·学习·算法·macos·dfs·bfs
xuhaoyu_cpp_java29 分钟前
MySql学习(一)
经验分享·学习·mysql