历史上的今天
返回首页

历史上的今天

今天是:2024年08月26日(星期一)

正在发生

2019年08月26日 | STM32测量甲醛(HAL库)

2019-08-26 来源:eefocus

设计介绍

现在大三,在学校附近找了一家实习公司做STM32开发,做了一个小的设计:使用STM32测量甲醛。用到的模块有STM32C8T6最小系统板,一个LCD1602液晶显示屏,一个ZE08-CH2O甲醛模组,还有蜂鸣器、按键、指示灯等。可以通过按键调整甲醛超标的阈值,当测量的甲醛值超过设置的阈值时,蜂鸣器会报警,相应的指示灯也会闪烁。


因为公司要求使用HAL库,就又学习了一下HAl库,发现STM32CobeMX这个软件再配合上HAL库用顺手之后还挺好用的。在学校实验室的时候一直使用的是ST官方的标准库,到公司了之后才接触HAl库。


在这里插入图片描述

/* Includes ------------------------------------------------------------------*/

#include "main.h"

#include "stm32f1xx_hal.h"

#include "LCD1602.h"

#include "deplay.h"

#include "usart.h"

#include "tim.h"

#include "gpio.h"

#include "memory.h"

/* USER CODE BEGIN Includes */


/* USER CODE END Includes */


/* Private variables ---------------------------------------------------------*/


/* USER CODE BEGIN PV */

/* Private variables ---------------------------------------------------------*/


/* USER CODE END PV */


/* Private function prototypes -----------------------------------------------*/

void SystemClock_Config(void);

void Error_Handler(void);

extern uint8_t aRxBuffer[3];

extern uint8_t memory_flag;



int main(void)

{

  HAL_Init();

  /* Configure the system clock */

  SystemClock_Config();

HAL_Delay(20);

LCD1602_cls();

  /* Initialize all configured peripherals */

  MX_GPIO_Init();

  MX_TIM4_Init();

  MX_USART1_UART_Init();


  /* USER CODE BEGIN 2 */

HAL_UART_Receive_IT(&huart1,&aRxBuffer[0],1); //开启接收数据

  HAL_TIM_Base_Start_IT(&htim4);   //启动定时器

  read_memory();//flash³õʼ»¯

  /* USER CODE END 2 */


  /* Infinite loop */

  /* USER CODE BEGIN WHILE */

  while (1)

 {

// HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);

dis_play(); 

police_dispose();//

if(memory_flag)

{

memory_flag=0;

memory();

}

}

}


推荐阅读

史海拾趣

Easy Magnet Corp公司的发展小趣事

Easy Magnet Corp公司最初由几位热衷于磁性材料研究的科学家和工程师创立。他们发现了一种新型磁性材料,具有极高的磁导率和稳定性。基于这一发现,他们开始研发适用于电子产品的磁性元件。最初的产品虽然简单,但因其高性能和可靠性,很快在市场中获得了认可。随着订单的增加,公司逐渐扩大了生产规模,并开始了技术研发的深入探索。

BROTHER公司的发展小趣事

随着全球环保意识的提高,BROTHER公司也积极践行环保理念,推动绿色生产。公司注重节能减排和资源循环利用,采用环保材料和生产工艺,减少对环境的影响。同时,BROTHER还开展了一系列环保公益活动,宣传环保理念,提高公众环保意识。通过践行环保理念,BROTHER不仅赢得了社会的认可和尊重,还为公司的可持续发展奠定了坚实基础。

以上五个故事只是BROTHER公司在电子行业发展历程中的一部分缩影。实际上,BROTHER的发展还涉及更多的细节和方面。但无论如何,BROTHER始终坚持创新、质量、服务和环保的理念,不断追求卓越和完美,为电子行业的发展做出了重要贡献。

EXCELSEMI [ EXCEL SEMICONDUCTOR INC. ]公司的发展小趣事

EXCELSEMI公司自创立之初,就致力于半导体技术的研发与创新。在早期,公司研发团队成功攻克了高性能半导体材料的生产技术难题,这一技术突破为公司后续的产品开发奠定了坚实基础。随着技术的不断进步,EXCELSEMI在半导体芯片设计、制造和封装等领域都取得了显著成果,逐渐在市场中崭露头角。

CALMIRCO公司的发展小趣事

随着电子行业的快速发展,市场竞争日益激烈,行业挑战也层出不穷。CALMIRCO公司始终保持敏锐的市场洞察力,积极应对各种挑战。在面对原材料价格波动、国际贸易摩擦等不利因素时,CALMIRCO公司及时调整战略,优化生产流程,降低成本,确保产品的竞争力。同时,公司还不断加大研发投入,推动技术创新和产业升级,以适应不断变化的市场需求。

这五个故事只是CALMIRCO公司在电子行业发展中众多精彩瞬间的缩影。正是这些不懈的努力和持续的创新,使得CALMIRCO公司在激烈的市场竞争中脱颖而出,成为电子行业的佼佼者。

Cembre SPA公司的发展小趣事

Cembre SPA一直秉持品质至上的原则,不断追求产品质量的提升。公司建立了严格的质量管理体系,从原材料采购到生产制造,再到产品出厂,每一个环节都严格把控。同时,公司还注重持续改进,通过引入先进的生产设备和技术,不断提高生产效率和产品质量。

台湾第一电阻(Firstohm)公司的发展小趣事
电冰箱电路中常见的易损部件包括启动继电器、过载保护器、温控器等。启动继电器负责启动压缩机,如果其性能不良或损坏,将导致压缩机无法启动。过载保护器用于保护压缩机免受过载损坏,如果其触点接触不良或损坏,也可能导致压缩机无法正常工作。温控器用于控制冰箱的温度,如果其出现故障,将影响冰箱的制冷效果。

问答坊 | AI 解惑

USBASP接口下载线

  希望有好心人能提供小弟一些关于USB接口下载线的电路,元件资料!本人想自己做一个~~但找不到资料!QQ:934277256 邮箱:star-night2004@163.com…

查看全部问答>

有关LCD GRAM的问题,忘大家解惑。

因为要参加一个比赛(就是那个天华杯,嵌入式比赛)。买了一个2110的开发板,还带了一个LCD,现在正在调,但是遇到了一个问题,3天都还没有解决。。。我现在想在lcd上任意坐标的画一个点,所以我设置了GRAM的地址,然后向GRAM里写数据,但是很奇怪 ...…

查看全部问答>

修改调试串口的问题,我该怎么改啊?

原来开发板给的是将物理串口0作为调试串口,现在我想把调试串口改为由串口1来做调试输出,我的物理串口1需要使用别的通信,这个该怎么该啊,请教各位了。…

查看全部问答>

关于linux下DMA驱动的问题

在linux下怎样应用DMA呢?是要先写驱动吗?系统目录linux/arch/arm/mach-s3c2410/dma.c下的这个文件make后直接insmod行吗?谢谢!…

查看全部问答>

??急:ccs下stack大小更改

新手求助 在CCS中模拟平台下写了个最简单的显示图像的程序 #include #include #include #define ROW 576 #define COL 720 void main() {   int i,j;   unsigned char Y[576][720];   uns ...…

查看全部问答>

关于键盘驱动死机的问题

从PUDN上下载的一份键盘驱动的源代码(http://read.pudn.com/downloads108/sourcecode/windows/vxd/447595/sys/inp.c__.htm) 在我的笔记本上测试发现按下第一个键之后,键盘就停止响应了,然后system进程占据100%的cpu。WinDbg调试,发现问题出在I ...…

查看全部问答>

EVC接收UDP是乱码

PC端给PPC通过UDP发送字符串,ppc端接受的都是乱码。 应该是unicode转换的问题,我查了些资料,无论是在pc端,还是在ppc端转换都不好使,大虾们帮看下: pc端转换:          char ansi[]=\"转换一二\";   ...…

查看全部问答>

请教:LF2407中的VCCP脚该怎么接

    在Demo板中,VCCP有接+5V或浮空的跳线。但是我查看了LF2407的说明文档,对该脚的描述是:在任何时候不能浮空。能给个解释吗?…

查看全部问答>

TI Sitara入门笔记2一AM335X开发板的背光控制

看了讲座,就在网上到处翻阅学习AM335X Sitara开发板的资料 我们来看部分电路,是StarterKit板子的背光控制模块。 他用了一块TPS61081 把电池电压升到20V供给LCD背光,而我们可以通过IO(应该是C12 Pin )来控制背光的亮灭,甚至用PWM信号来调 ...…

查看全部问答>

电子信息类工程师知识体系分析(一)

电子信息类工程师知识体系分析信息技术发展迅速,迄今已发展出许多分支学科,电子工程师也因所掌握技能的不同被划分为不同的种类。通俗地说,电子工程师可被分为硬件和软件工程师,硬件工程师又分为模拟和数字硬件工程师,软件工程师同样有许多不同 ...…

查看全部问答>