STM32摇杆控制舵机,OLED显示数据

该代码示例展示了STM32使用串口进行数据通信和ADC转换的过程。初始化串口用于接收和发送数据,并设置中断处理函数处理接收到的数据。同时,配置ADC读取X轴和Y轴的模拟信号,通过PWM控制舵机。在主循环中,不断获取ADC转换的电压值并显示在OLED屏幕上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include "stm32f10x.h"                  // Device header
#include "stdio.h"
#include "delay.h"
#include "spioled.h"


/*************串口初始化***********************/

void led()//led PE5初始化
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
	GPIO_InitTypeDef GPIO_InitStruct;
	GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
	GPIO_InitStruct.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6;
	GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
	GPIO_Init(GPIOE,&GPIO_InitStruct);
}
void CUSART_init()//串口初始化函数
{
	GPIO_InitTypeDef GPIO_InitStruct;//GPIO结构体
	USART_InitTypeDef USART_InitStruct;//USART结构体
	NVIC_InitTypeDef NVIC_InitStruct;//中断结构体
	
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
	
	
	
	GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;//
	GPIO_InitStruct.GPIO_Pin=GPIO_Pin_9;//设置RX,TX端口串口使能
	GPIO_InitStruct.GPIO_Speed=GPIO_Speed_10MHz;
	GPIO_Init(GPIOA,&GPIO_InitStruct);
	
	GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;//设置端口浮空输入
	GPIO_InitStruct.GPIO_Pin=GPIO_Pin_10;//设置RX,TX端口串口使能
	GPIO_InitStruct.GPIO_Speed=GPIO_Speed_10MHz;
	GPIO_Init(GPIOA,&GPIO_InitStruct);
	
	USART_InitStruct.USART_BaudRate=9600;//波特率
	USART_InitStruct.USART_HardwareFlowControl=USART_HardwareFlowControl_None;//硬件流设置
	USART_InitStruct.USART_Mode=USART_Mode_Tx | USART_Mode_Rx;//设置串口模式
	USART_InitStruct.USART_Parity=USART_Parity_No;//不使用奇偶校验
	USART_InitStruct.USART_StopBits=USART_StopBits_1;//设置停止位 1
	USART_InitStruct.USART_WordLength=USART_WordLength_8b;//传输或接受传输数据位
	
	USART_Init(USART1,&USART_InitStruct);
	
	USART_Cmd(USART1,ENABLE);//使能串口
	
 
	USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); //开启串口接受中断 	
	
	
	NVIC_InitStruct.NVIC_IRQChannel=USART1_IRQn;
	NVIC_InitStr
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃瓜的亚瑟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值