完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、在Arduino 完成STM32板子的串口通信程序
(一)安装Arduino IDE 1、进入Arduino IDE官网 下载 相关安装包 2、下载下来的是一个压缩包,解压并进入文件中,点击应用程序进行安装,按照指示点击即可 (二)配置Arduino IED 1、IDE安装完成后,打开该软件,点击右上角工具–>开发板–>开发板管理器 2、搜索ARM,选择 Arduino SAM Boards(32-bit ARM Cortex-M3) 进行安装,下图我已经安装好,所以只有删除键;未安装会有安装键 3、安装完成后可以打开开发板检查是否安装成功 4、进入 官网下载.Arduino_STM32版型文件 点击Code->Download ZIP 5、以上下载的是压缩包,解压后把STM32文件夹复制到IDE软件安装地址下的hardware文件夹下 6、此时重新打开Arduino的开发板查看,发现多了以下STM32版型 7、打开软件自带的示例程序检查环境是否搭建成功,点击文件->示例->A_STM32->Digital->Blink 8、点击编译,显示编译完成则环境搭建成功,可继续进行 (三)STM32开发板连接 我使用的开发板是野火指南者STM32f103VE系列的1、用u***线把开发板的"u***转串口"接口连接到电脑。 2、用跳帽将BOOT0与3v3相连,BOOT1与GND相连,RXD与A9相连,TXD与A10相连。如上图 3、连接完成后保持开发板处于通电状态(等会儿选择端口有用) (四)程序编写及相关配置 1、打开Arduino IDE,点击左上角文件新建一个窗口 2、把以下程序粘贴进去 int flag=1; char Stop[]="stopn"; void setup() { //初始化 pinMode(PB1, OUTPUT);//PB0为绿色,PB1为蓝色,PB5为红色,可根据需要改动 Serial.begin(115200); } void loop() { int i=0,flag=1; char inByte[1000]; digitalWrite(PB1, HIGH); //小灯亮 delay(500); // 延迟 digitalWrite(PB1, LOW); //小灯灭 delay(500); // 延迟 while (Serial.available()> 0) //当发送缓冲区有数据时 { inByte = Serial.read(); //从串口的缓冲区取出并读取一个Byte的数据 delay(10); i++ ; } if(Stop=inByte) { if(Stop[i-1]==inByte[i-1]&&Stop[i-2]==inByte[i-2]&&Stop[i-3]==inByte[i-3]) { flag=0; } } if(flag==0) { Serial.println("收到!");//当收到stop命令时停止并回复收到! while(1) {continue;} } if(flag==1) { Serial.println("Hello world!");//向串口发送数据 delay(100); // 延迟 } } 上述程序完成两个任务:3、程序输入完成后,保存 4、点击工具选择与你的开发板同系列的板子,我的是指南者STM32F103VE系列 5、这里选择STM32F103VE 6、上传方式选择Serial 7、先到设备管理器查看你的USB连接到哪个接口,我这里是COM4,所以在IDE中端口选择COM4 8、经过以上步骤,配置完成,点击编译 9、编译通过后,先按一下连接的开发板的复位键,然后点击上传 程序上传时,界面下方有进度条,等进度条走完,则上传成功。(五)实验结果 1、程序上传完成后,观察到开发板的LED灯闪烁 2、此时点击Arduino软件左上角工具->串口监视器 与实验要求一致,实验成功,到此实验结束总结 与使用Keil 5实现串口通信相比,基于Arduino IDE软件的STM32串口通信更为方便,程序也更加简洁。以上就是基于Ardunio 完成STM32开发板的串口通信程序。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1907 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1678 浏览 1 评论
1171 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
770 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1730 浏览 2 评论
1970浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
806浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
254浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
623浏览 3评论
634浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 08:10 , Processed in 0.594850 second(s), Total 45, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号