首页 > 编程知识 正文

stm32cubemx怎么卸载,stm32cubemx是干什么的

时间:2023-05-04 10:41:24 阅读:130507 作者:1105

另一方面,搭载stm32的开发环境安装STM32CubeMX 1,安装jdk

STM32CubeMX是在Java中实现的,因此必须安装jdk环境。

下载位置: Java下载

2、安装stm32CubeMX (安装过程中不会出现地址命名等中文) ) ) ) ) ) ) ) )。

STM 32 cube MX-STM 32 cubeinitializationcodegenerator-stm32 cubeinitializationcodegenerator-stmicroelectronics

二、在CubeMX新建工程中点亮LED灯1,进行新建工程(1)新建工程,选择所需型号

)2)可调式sys接口

)3)配置销。 根据上一个keil5配置管脚。 只需将PA1、PB0和PB5设置为GPIO_Out即可。

)4)时钟源配置

默认时钟使用内部RC振荡器。

图中的位置更改为72滑架。

)5)工程管理

请不要在所有命名中出现中文

单击左上角的代码生成器,然后继续进行下一个部署。

单击右上角的GENERATE CODE以创建项目并打开项目文件

2、新代码1、代码如下

Hal_gpio_writepin(gpioa,GPIO_PIN_1,GPIO_PIN_RESET ); Hal_gpio_writepin(gpiob,GPIO_PIN_0,GPIO_PIN_SET ); Hal_gpio_writepin(gpiob,GPIO_PIN_5,GPIO_PIN_SET ); Hal_Delay(1000; Hal_gpio_writepin(gpioa,GPIO_PIN_1,GPIO_PIN_SET ); Hal_gpio_writepin(gpiob,GPIO_PIN_0,GPIO_PIN_RESET ); Hal_gpio_writepin(gpiob,GPIO_PIN_5,GPIO_PIN_SET ); Hal_Delay(1000; Hal_gpio_writepin(gpioa,GPIO_PIN_1,GPIO_PIN_SET ); Hal_gpio_writepin(gpiob,GPIO_PIN_0,GPIO_PIN_SET ); Hal_gpio_writepin(gpiob,GPIO_PIN_5,GPIO_PIN_RESET ); Hal_Delay(1000; 在main.c文件main函数下的while循环中添加上面的代码行即可。

2、编译写代码

如果编译行为没有错误,则写入代码。

3、结果展示

三、MDK5观察3个GPIO端口的输出波形1,设定模拟模式

2、编译运行无错误

3、制式对话

4、打开逻辑分析仪

5、点击setup在逻辑分析仪上添加要观察的IO端口

键入新PORTA .PORTB .离开目标端口,并将Display Type设置为Bit

模拟图如下所示。

四.发送串口通信、Hello Windows样本安装驱动程序软件。 必须将J-link连接到电脑上才能安装。

硬件连接参考led流水灯制作博客STM32F103C8T6点亮led流水灯详情_小杨勤奋博客-CSDN博客

安装是为了确认“device manager (设备管理器)”中是否有端口。

有了端口,您可以参考上面的STM32CubeMX代码编写,也可以直接编写。

如果编译没有错误,则写入芯片。

代码参考如下。

usart.c上的代码

在SYSTEM组下双击usart.c,uart_init函数

voidUart_init(u32pclk2,u32 bound ) { float temp; u16 mantissa; u16分裂; temp=(浮动) pclk2*1000000 )/)/(bound*16 ); USARTDIVmantissa=temp; //得到整数部分的fraction=(temp-mantissa ) *16; //得到小数部mantissa=4的mantissa=fraction; RCC-APB2ENR|=12; 启用端口时钟RCC-AP B2 ENR|=114; //启用串行时钟GPIOA-CRH=0XFFFFF00F; //IO状态设定GPIOA-CRH|=0X000008B0; //IO状态设定RCC-APB2RSTR|=114; //串行端口1重置1RCC-APB2rstr=~~,114; //复位停止//波特率设定USART1-BRR=mantissa; //波特率设定USART1-CR1|=0X200C; //1位停止,无奇偶校验位。 #if EN_USART1_RX //接收//接收中断启用USART1-CR1|=15时; //接收缓冲器非空中使能my _ nvic _ init (3,3,USART1_IRQn,2 ); //组2,在最低优先级#Endif}test.c中写以下代码。

# include ' sys.h ' # include ' usart.h ' # include ' delay.h ' int main { u16t; u16 len; u16 times=0; Stm32_Clock_Init(9(; //系统时钟设置delay_init (); //延迟初始化UART _ init (72,115200 ); //串行为115200while(1) if ) usart_rx_sta0x8000 ) { len=USART_RX_STA0x3FFF; //获取此次接收的数据长度printf ((r (nhellowindows! rnrn '; for(t=0; tlen; t({usarT1-dr=usart_rx_buf[t]; while((usart1-Sr0x40 )==0); //等待发送结束(printf((rnrn ) ); //插入换行符USART_RX_STA=0; Else {时间}; if (时间0==0) printf(Hellowindows! rn '; dlay_ms(10; }}编译后,写入成功

五.根据以上实例,观察PA9、PA10波形

六、本次总结学习了利用STM32CubeMX直接生成代码,使今后的编译更加方便快捷。

七、参考

STM32最小核心板F103串行端口通信USART_vic_to_ry博客-基于csdn博客MDK创建STM32汇编器:串行端口输出Hello world_ssj925319博客-CSDN

【STM32】串行通信的基本原理(超基础、详细版) _Yngz_Miao的博客-CSDN博客_串行通信的原理

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。