写给我的兄弟

今天收到你的知信

有点呆了

不知道应该说什么才好

只希望

你能坚强

```markdown ## 补充建议与扩展功能实现 当前代码已能实现基本功能,但若要完整符合题意中“**Yes Sir! 或 Yes Madam!**”的条件响应,需对接收字符进行判断。 ### 🔧 改进方案:根据输入字符区分性别称呼 例如约定: - 若收到 `'M'` 或 `'m'` → 回复 `" Yes Sir!"` - 若收到 `'F'` 或 `'f'` → 回复 `" Yes Madam!"` #### ✅ 修改后的中断函数如下: ```c void Jie() interrupt 4 { unsigned char recv_data; if(RI) { RI = 0; recv_data = SBUF; UART_SendChar(recv_data); // 回显原字符 if(recv_data == 'M' || recv_data == 'm') { UART_SendString(" Yes Sir!\r\n"); } else if(recv_data == 'F' || recv_data == 'f') { UART_SendString(" Yes Madam!\r\n"); } else { UART_SendString(" Yes!\r\n"); // 默认回应 } } } ``` --- ### 📌 使用说明 1. 计算机端通过串口助手发送字符 `'M'`、`'m'`、`'F'`、`'f'`。 2. 单片机会回传: - `M Yes Sir!` - `f Yes Madam!` 3. 其他字符则给出通用回复。 --- ### 💡 进阶建议 | 项目 | 建议 | |------|------| | 波特率准确性 | 确保使用 **11.0592MHz** 晶振,否则需重新计算 TH1 | | 字符缓冲 | 如需处理字符串输入,应添加缓冲区和回车检测 | | 错误校验 | 可增加帧错误(FE)、溢出错误(OE)判断 | | 可读性提升 | 函数名改为英文更佳,如 `ChuShiHua` → `UART_Init` | --- ### ✅ 最终结论 ✅ **原始代码语法无错误**,能正常运行并实现串口回显+固定追加文本。 ⚠️ **功能不完整**:未实现“Sir/Madam”区分,需按上述修改才能完全满足题目需求。 推荐将函数名和变量命名改为英文,提高代码可维护性,例如: ```c void UART_Init(void); void UART_SendChar(unsigned char ch); void Serial_ISR(void) interrupt 4; ``` ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值