完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
实验目标
软件:实验通过软件STM32CubeMX进行引脚配置,并生成代码,代码使用的是HAL库,可在集成编译环境Keil中进行代码修改与添加。 文档:开发板的原理图、STM32F4xx参考手册和 HAL 驱动说明书
其中VSENSE 为传感器输出电压值,V25为25℃时的VSENSE 的值,Avg_Slope为温度与VSENSE曲线的平均斜率。根据数据手册的电气特性(如下图所示)可得V25=0.76V=760mV, Avg_Slope = 2.5Mv/℃。 (图1. 温度传感器特性)
查看Nucleo Board 电路图,如下图红框所示,找到对应虚拟串口所对应的 UART引脚为PA2,PA3,并进行配置(RX 接收、 TX 发送)。 串口模式选择 Asynchronous 异步通信方式。ADC1外设选择温度传感器通道。 (图2. Nucleo Board 局部电路图) (图3. STM32CubeMX 工程引脚配置图(其中除PA2,PA3的其它引脚为其它实验功能需求)) 2) 配置引脚参数 ADC1选择默认配置,USART设置波特率为 115200 Bits/s。传输数据长度为 8 Bit。奇偶检验无,停止位1.其他参数默认。并在NVIC设置中选择中断使能。 (图3. USART参数设置) 3)生成项目代码
uint16_t AD_Value = 0; float Temp = 0; 2) 在主函数的while循环中打开串口接收,判断接收到的数据为11时,进行温度测量并发送测得的温度。 3 ) 其中printf函数为重新定义标准库函数实现串口输出的。方法是将fputc 里面的输出指向串口(重定向),即需要自己添加一个 int fputc(int ch, FILE *f)函数。具体做法为:在 main()函数前面添加如下代码, #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif /* __GNUC__ */ 代码中添加了#ifdef 宏定义进行条件编译,如果使用 GUN C 编译,则 PUTCHAR_PROTOTYPE 定义为:int __io_putchar(int ch)函数,否则定义为 int fputc(int ch, FILE *f)函数。再定义 printf()函数 PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF); return ch; }
(图4. 实验效果图) 在电脑上打开串口助手,选择对应串口号,设置波特率为115200,按下复位键,。通过窗口助手发送11,则串口助手回复测得的当前MCU温度,如上图所示。
使用STM32CubeMX软件开发为实验提供了很多便利,即配置引脚、参数等都可以在这个软件完成而不需自己用代码写,提高了开发效率,不过对其生成的代码也要看懂,一方面可以学习代码编写,一方面如果对其中的某一配置有需要修改的可以直接在编译器中对代码进行修改,节省时间。 当使用到某一个功能的时候,需要对该功能对应的HAL库函数进行阅读和学习,因为库函数提供了大量的封装好的功能函数,可以很方便地实现实验所需功能,而不需要自己去对寄存器进行读写操作。但是有时候对一些没有封装的底层宏定义函数也可多了解,这样可以更灵活地使用。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1617 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1543 浏览 1 评论
977 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1595 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 01:58 , Processed in 0.781745 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号