当前位置: 首页 > article >正文

【蓝桥杯】【省赛真题】

关于第十一届第一场蓝桥杯中如何判断串口数据的问题的代码如下:

//USART
u8 rx_buf[3];
u8 rx_cnt;
u8 load_rx_buf[30];
__IO uint32_t UART_Tick=0;
_Bool flag=0;
int fputc(int ch, FILE *f) 
{
  HAL_UART_Transmit(&huart1,(unsigned char*)&ch,1,50);
  return ch;
}
void UART_Process(void)
{
	if(uwTick-UART_Tick<50)return;
	UART_Tick=uwTick;
	if(rx_cnt>0&&flag==0)
	{
		printf("changdu");
	}
	flag=0;
	rx_cnt=0;
	memset(load_rx_buf,'\0',sizeof(load_rx_buf));
}
//3.3,4.3
//0123456
u8 CHEK_DATA(u8 *str)
{
	if(str[3]!=','||str[1]!='.'||str[5]!='.')
	{
		printf("biaodian");
		return 0;
	}
	if(str[0]>'9'||str[0]<'0'||str[2]>'9'||str[2]<'0'||str[4]>'9'||str[4]<'0'||str[6]>'9'||str[6]<'0')
	{
    printf("shuzi");
		return 0;
	}
	return 1;
}
//DATA_PROCESS
float v_min=0;
float v_max=0;
void DATA_PROCESS(u8 *str)
{
  v_min=(str[0]-'0')*1.0f+0.1f*(str[2]-'0');
  v_max=(str[4]-'0')*1.0f+0.1f*(str[6]-'0');
}
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
	UART_Tick=uwTick;
	load_rx_buf[rx_cnt++]=rx_buf[0];
	if(rx_cnt==7)
	{
		flag=1;
		printf("%s\r\n",load_rx_buf);
		printf("7byte\r\n");
		rx_cnt=0;
		if(CHEK_DATA(load_rx_buf)==1)
		{
			printf("Correct");
			DATA_PROCESS(load_rx_buf);
		}
	}
	HAL_UART_Receive_IT(&huart1,rx_buf,1);
}

u8 display_buf[30];
void LCD_Process(void)
{
	sprintf((char*)display_buf,"v_max:%3.1f",v_max);
	LCD_DisplayStringLine(Line0, display_buf);
	
	sprintf((char*)display_buf,"v_min:%3.1f",v_min);
	LCD_DisplayStringLine(Line1, display_buf);
}


http://www.kler.cn/a/7513.html

相关文章:

  • 高级数据结构——hash表与布隆过滤器
  • Elasticsearch retrievers 通常与 Elasticsearch 8.16.0 一起正式发布!
  • DNS批量解析管理软件有什么用
  • 【Vue】Vue3.0(二十四)Vue3.0中$refs 、$parent 的概念和使用场景
  • 综合文化信息管理系统|基于java和小程序的综合文化信息管理系统设计与实现(源码+数据库+文档)
  • sql在按照当前表查询返回
  • 类方法与类变量与main方法语法
  • 有哪些 python 的在线练习题或编程挑战的网站?
  • 4.6---Spring框架之Spring的AOP理解(复习版本)
  • 一致性哈希的简单认识
  • 蓝牙耳机品牌哪个音质好佩戴舒适性?2023年蓝牙耳机盘点
  • 【Redis】数据结构 - Set
  • 刷题_28:反转部分单向链表 and 猴子分桃
  • 今年晋升本没抱希望,已有绩效更好的同事将参加晋升,leader却临时让我也去答辩,怀疑自己被拉去陪跑,该怎么办?...
  • Spring依赖注入详解
  • Linux中滴计划任务
  • 普通人怎么用ChatGPT-ChatGPT中文版网页
  • CarSim仿真快速入门(二十四)-CarSimSimulink联合仿真中的输入和输出IO接口
  • 元宇宙与网络安全
  • three.js实现3d球体树状结构布局——树状结构的实现
  • GDOI 2023 游记
  • 【软件设计师07】程序设计语言与语言处理程序基础
  • UVM response_handler和get_response机制
  • 《C++开发技能树》004 语言类·指针和内存管理·glibc的内存实现ptmalloc
  • Vue3加载中(Spin)
  • 38--Django-项目实战-全栈开发-基于django+drf+vue+elementUI企业级项目开发流程-前台首页设计