完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
任务一、
用STM32CubeMX配合keil,用GPIO端口完成三只LED红绿灯的周期闪烁 1、STM32CubeMx下载网址:STM32CubeMX - STM32Cube initialization code generator - STMicroelectronics 安装好之后,打开主界面,找到help→manage embedded software paclages 下载STM32F1中的1.8.4版本 2、HAL方式 ①创建工程,点击file→new project,选择STM32F103C8,然后点击start project,进入界面后,选择System Core中的SYS,在Debug除选择Serial Wire, 选择Clock Configuration,点击PLLCLK 回到pinout,按下图设置 将芯片管脚按下图设置,PA1,PA3,PA5设为GPIO-Output 点击Project Manager,输入自己的路径和LED项目名称,IDE选择如下图,再点击GENERATE CODE。 ②添加代码,找到main.c中的while循环HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_SET); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET); HAL_Delay(1000); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET); HAL_Delay(1000); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_SET); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET); HAL_Delay(1000); ③编译与仿真 在Debug中选择Use simulater,将Dialog.DLL下项设为DARMSTM.DLL,Parameter项设为-pSTM32F103C8,在Output中选Create HEX File生成hex文件,仿真运行 打开logic Analyzer 然后如下图设置,再点击Run执行 波形如下图显示 3个管脚的电平依次变化,从0 1 1→1 0 1→1 1 0→0 1 1 ④```硬件连接 USB-TTL串口下载,连接方式如下: STM32f103 USB-TTL模块 GND ———— GND 3.3V ———— 3,3V TXD ———— A10 RXD ———— A9 ⑤打开Flymcu软件,开始烧录。 最终结果如图所示 任务二 USART串口通讯程序 HAl库方式 ①创建工程 选择STM32F103C8开发板,点击start project,在HSE选择Crystal/Ceramic Resonator,如下图 设置USART2,选择Asynchronous 在Clock Configuration如下图选择 生成项目 ②添加代码 打开项目之后找到main中的while循环 代码如下: char data[]=“hello windows!n”;//发送的数据 HAL_UART_Transmit(&huart2, (uint8_t *)data, 15, 0xffff);//发送 HAL_Delay(1000);//延时 然后在Debug中选择Use simulater,将Dialog.DLL下项设为DARMSTM.DLL,Parameter项设为-pSTM32F103C8,在Output中选Create HEX File生成hex文件,仿真运行 打开逻辑分析仪,添加端口,将Display Type处设置为Bit, ③串口下载,步骤同上 ④BOOT0置1,BOOT1置0,文件烧录 ⑤BOOT0置o,打开调试助手,效果如下 |
|
|
|
只有小组成员才能发言,加入小组>>
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
2433 浏览 0 评论
3341 浏览 9 评论
3021 浏览 16 评论
3514 浏览 1 评论
9118 浏览 16 评论
1242浏览 3评论
635浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
627浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2373浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1936浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 05:02 , Processed in 1.008451 second(s), Total 48, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号