二、读取编码器数值实现电机测速—1 、配置串口通信;

本文介绍如何在STM32上配置串口通信并实现编码器数值读取来测量电机速度。通过详细代码示例展示了串口初始化、中断处理及编码器配置过程。

电机系列

二、读取编码器数值实现电机测速

1 、配置串口通信;

usart.h
#ifndef __USART_H
#define __USART_H
#include "stdio.h"	
#include "sys.h" 

#define USART_REC_LEN  			200  	//定义最大接收字节数 200
#define EN_USART1_RX 			1		//使能(1)/禁止(0)串口接收
	  	
extern u8  USART_RX_BUF[USART_REC_LEN]; //接收缓冲,最大USART_REC_LEN个字节.末字节为换行符 
extern u16 USART_RX_STA;         		//接收状态标记	
//如果想串口中断接收,请不要注释以下宏定义
void uart_init(u32 bound);
void USART3_Init(u32 bound);
int fputc(int ch,FILE *f);

#endif
usart.c

#include "stm32f10x_gpio.h"
#include "stm32f10x_usart.h"
#include "stdio.h"

volatile unsigned char *rx_address;
volatile unsigned int rx_count;
volatile unsigned int rx_length;


/********** 禁用半主机模式 **********/
#pragma import(__use_no_semihosting)
 
struct __FILE
{
   
   
	int a;
};
 
FILE __stdout;
 
void _sys_exit(int x)
{
   
   
	
}
 
/// 重定向c库函数printf到USART3
int fputc(int ch, FILE *f)
{
   
   
		/* 发送一个字节数据到USART3 */
		USART_SendData(USART3, (uint8_t) ch)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值