- 打卡等级:初来乍到
- 打卡总天数:7
- 最近打卡:2025-12-13 09:18:15
已绑定手机
注册会员
- 积分
- 52
|
void encoder_init(void)
{
T3L = 0;
T3H = 0;
T4L = 0;
T4H = 0;
T4T3M |= 0xCC;
}这是我的编码器的配置,
void uart4_init(void) // 选择时钟源, 2: 使用Timer2做波特率, 其它值: 使用Timer4做波特率.
{
P5M0 = 0x00;
P5M1 = 0x00;
S4_S=1; //uart4 : //P5.2rx //P5.3tx
T2H = t2_reload >> 8;//timer2
T2L = t2_reload;
AUXR |= 0x14;//timer2 as baudrate
T2x12 = 1;
T2R = 1;
S4CON |= 0x10;
ES4 = 1; //允许uart4中断
}
这是我的串口配置,
主函数中#include "main.h"
#include "motor.h"
#include "uart.h"
#include "encoder.h"
int main(void)
{
EAXFR = 1;
WTST = 0;
CKCON = 0;
// 打开总中断
motor_init(10000);
encoder_init();
timer0_init();
uart4_init();
//delay_ms(500);
EA = 1;
motor_control(80,50);
while (1)
{
uart4_putchar(0x70);
}
}如果encoder_init里面把 T4T3M |= 0xCC;注释调就可以串口发出信号,如果有 T4T3M |= 0xCC;,,程序没法串口通信,串口的波形也没有,请问怎么解决,我是定时器2来给串口用,为什么 T4T3M |= 0xCC;的配置会导致串口无法工作,
|
|