完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
实验目的
显然不是纯粹为了钻研,有被毕设逼迫的成分,本来选择51,但是感觉51资源不太够用,而且51的逼格不够,答辩的话stm32感觉逼格高一些,但是也增加了风险,我对51的资源,寄存器,开发流程都相当熟悉,但是32的话仅仅还是入门,只能跟着比人用库开发,万一有懂行的老师,那就GG,所以无论什么原因,既然选择32,就要好好学习。闲话到此结束,上正文。 串口简介 stm32的串口资源还是比较丰富的,有三个同步异步串口,两个异步串口,这里针对的是stm32f103ZET6。分别挂接在APB1和APB2上,其中串口1挂接在APB2总线上,有更快的时钟频率,这里采用的是串口1。串口1有多种事件可以触发中断,这里采用的是接收缓冲区非空触发,即RXNE。即把接收消息放在中断里,也可以不采用中断的方式,在主函数循环里面轮询,效率相对较低,而且不能满足实时要求。实验采用的方法是由PC机向stm32发送一个字节的数据,然后判断字节内容,点亮LED灯。 配置流程 关于串口实验的说明
代码
void LED_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; /*开启GPIOC时钟*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); /*GPIOC端口配置*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode= GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStructure); /*拉高PC0*/ GPIO_SetBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7);}1234567891011121314153.主函数 led用了宏定义,采用了位带操作,用的别人的代码,一般单片教程里都有,还是使用了systick定时器产生毫秒延时,不再列举。第一个LED灯用来显示程序正常运行。 #include "system.h"#include "led.h"#include "systick.h"#include "usart.h"int main(){ u8 i = 0, j = 1, buf = 0; SysTick_Init(72); LED_Init(); USART1_Init(9600); while(1) { i++; if(i % 20 == 0) { LED1 = !LED1; } do { buf = recv; buf = buf & (0x01 << j); if(buf != 0) { PCout(j) = 0; } else { PCout(j) = 1; } j++; } while(j < 8); j = 1; delay_ms(10); }} 实验现象 从串口调试助手里面发送0x08(00001000)第四个LED灯亮 总结 写这篇文章的目的不是为了自己stm32学的多好,其实就是刚入门,是因为调试串口的时候遇到很多问题,比如串口卡在循环里,串口没有产生中断等,我个人的解决方案如下
|
|
|
|
只有小组成员才能发言,加入小组>>
调试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 07:13 , Processed in 0.820893 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号