串口ISPHUB制作
【摘要】
■ 前言
为了能够使得基于STC单片机所组成的功能块可以集成在一起完成实验,通过串口进行信息交换。
本文给出了一个一对四的串口通讯HUB设计,可以使用一个具有双UART端口的单片机与另外四个基于S...
■ 前言
为了能够使得基于STC单片机所组成的功能块可以集成在一起完成实验,通过串口进行信息交换。
本文给出了一个一对四的串口通讯HUB设计,可以使用一个具有双UART端口的单片机与另外四个基于STC的ISP端口的单片机进行信息交换。
01实验电路设计制作
1. AltumDesign 工程1
▲ 实验板的原理图
▲ 电路板的PCB图640
▲ 焊接后的电路板
2. 管脚定义
- 分支端口功能定义:
管脚 | 符号 | 功能 |
---|---|---|
1 | +5V | 工作电源 |
2 | TXD | 连接MCU UART TXD |
3 | RXD | 连接MCU UART RXD |
- 总端口功能定义:
管脚 | 符号 | 功能 |
---|---|---|
1 | +5V | 工作电源 |
2 | GND | 底线 |
3 | RXD0 | 连接MCU的TXD |
4 | TXD0 | 连接MCU的RXD |
5 | SEL1 | 通道选择1 |
6 | SEL2 | 通道选择2 |
3.版本2:总线版本2
总线版本不用线选,所有的开发板都能够接收到命令。只有接收到正确命令的版本才返回信息。
▲ 总线版本原理图
▲ 总线版本的PCB
▲ 焊接后的实验电路板
02功能测试
1.设计测试功能的STC8G1K083
▲ 测试电路的原理图
▲ 焊接之后PCB
单片机的UART2组成对外测试端口:
管脚 | 符号 | 功能 |
---|---|---|
1 | +5V | 工作电源 |
2 | GND | 底线 |
3 | TXD2 | 连接MCU的TXD2 |
4 | RXD2 | 连接MCU的RXD2 |
2.测试功能板的单片机软件4
- 单片机时钟35MHz,ISPUART 波特率:460800;
○ 调试LS138的译码
在SEL1,SEL产生二进制方波,观察LS138的选通波形如下:
四路的LS138的选通波形都是一样的。
▲ LS138的选通波形
○ 串口波形发送
▲ 在四个端口可以测量得到与MCU发送相同的波形
3.测量两个功能板
○ 功能板定义
测试功能板为 HCTL-2020正交码读写芯片 测试板。在它的SERIAL服务程序中增加命令:
} else IFARG0("sampleb") {
nNumber = HCTL2020Read();
SendChar((unsigned char)(nNumber >> 8));
SendChar((unsigned char)nNumber);
}
- 1
- 2
- 3
- 4
- 5
发送命令“sampleb”,则获得两个字节的数据。
▲ 测试两块正交角度编码器模块
○ 修改main程序
在通常情况下,处理串口的消息都是在void main(void)中,每1ms处理接收到字符。这样处理完命令所需要的时间就与命令的长度相同。为了提高处理命令的速度,需要对程序处理串口命令做如下调整:
- 提高main的loop频率
将main程序中的 WaitTime(1),去掉。
for(;;) {
if(++nCount & 0x8000) ON(LED);
else OFF(LED);
// WaitTime(1);
//----------------------------------------------------------------------
if(++nShowCount >= 500) {
nShowCount = 0;
}
//----------------------------------------------------------------------
#if SERIALTXT_EN
ConsoleDebug();
#endif // SERIALTXT_NE
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 在ConsoleDebug() 处理完所有接收到的命令
void ConsoleDebug(void) {
#if UART1_EN
unsigned char ucChar;
// if(!UART1_CANRECE) return;
while(UART1_CANRECE) {
ReceChar(&ucChar);
SDPC(ucChar);
}
#endif //
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
※ 结论
注意:在使用轮训的时候,需要将主程序能够及时响应命令,加快命令处理循环。
▲ 实验平台测量过程
文章来源: zhuoqing.blog.csdn.net,作者:卓晴,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuoqing.blog.csdn.net/article/details/107178714
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)