常用插接件2(DC 电源插头)

2025-07-23 05:43:52
meinazeicai123: 认真学习了你的代码,代码正确,连接正确,通信不成功,串口助手没数据接收,#include "mc9s12xf512.h"// 晶振频率和波特率配置 #define ...

meinazeicai123:

认真学习了你的代码,代码正确,连接正确,通信不成功,串口助手没数据接收,#include "mc9s12xf512.h"// 晶振频率和波特率配置

#define OSC_CLOCK 4000000UL

#define BUS_CLOCK 20000000UL

#define BAUD_RATE 9600UL

// SCI0 初始化函数

void SCI0_Init(void) { // 设置波特率

SCI0BDH = (unsigned char)((BUS_CLOCK / (BAUD_RATE * 16)) >> 8);

SCI0BDL = (unsigned char)(BUS_CLOCK / (BAUD_RATE * 16)); // 设置 SCI0 为 8 位数据,无校验,1 个停止位

SCI0CR1 = 0x00; // 8 位数据模式

SCI0CR2 = 0x0C; // 使能接收器和发送器

}// SCI0 发送字符函数

void SCI0_PutChar(unsigned char data) {

while (!(SCI0SR1 & 0x80)); // 等待发送缓冲区为空

SCI0DRL = data; // 发送字符

}// SCI0 接收字符函数

unsigned char SCI0_GetChar(void) {

while (!(SCI0SR1 & 0x20)); // 等待接收缓冲区非空

return SCI0DRL; // 返回接收到的字符

// 主函数

void main(void) {

// 初始化 SCI0

SCI0_Init();

// 发送测试字符串

SCI0_PutChar('H');

SCI0_PutChar('e');

SCI0_PutChar('l');SCI0_PutChar('l');SCI0_PutChar('o');SCI0_PutChar('\r');SCI0_PutChar('\n');

while (1) {

u