关于STM32F103用串口调试助手发送指令控制继电器

2019-10-16 01:30发布

关于STM32F103怎么用串口调试助手发送指令控制继电器,自己写协议,然后串口助手发送,继电器操作成功,返回相应的指令,谁搞过呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
xucao514
1楼-- · 2019-10-16 22:33
 精彩回答 2  元偷偷看……
sodermalm
2楼-- · 2019-10-17 00:25
这个协议的话 应该算是简单的  就是你发送控制指令过去  stm32收到  开继电器   动作完成后 给pc发送一个成功动作的指令   这些所以得指令数据就可以自己设定了  
AV8D
3楼-- · 2019-10-17 02:21
xucao514 发表于 2016-12-15 16:05
你先别搞那么复杂, 先发个控制指令过去, 等那边返回一个字符串到串口就行了。 证明你这个流程没问题。 再 ...

我现在就是弄了一个USART1的发送和串口中断接收的程序,假如我调试助手发送1,就回复1,这个没有问题。
寂青山
4楼-- · 2019-10-17 02:28
格式:
字节号        1        2        3        4        5        6        \        n-4        n-3        n-2        n-1        n
值(HEX)        7B        7C        XX        XX        XX        XX        XX        XX        XX        XX        7C        7D
意义        头        长度        命令        数据        校验        尾

一、        通信波特率:9600,8位数据位,一个停止位,无奇偶较验,

二、        命令前两字节为命令头,分别为ASSII码:{、|;

三、        所有字节为十六进制数,每字节的最大值为 0x63;

四、        命令第3、4字节为命令长度,其值等于 命令码 + 数据码;
设长度命令长度为: L,BYTE3表示第三字节,BYTE4表示第四字节,……,那么:
L = BYTE3 * 100 + BYTE4=BYTE5 + BYTE6 + BYTE(….) + BYTE(n);

五、        第5字节为命令码;

六、        第6 ~ n-4 字节为数据;

七、        第n-3、n-2字节为校验码,由命令码与数据字节按异或运算而来;
设BYRE5~ BYTE(n-4) 分别为第 5 ~ n-4 字节,那么:
BYTE(n-3) * 100 + BYTE(n-2) =BYTE5 XOR BYTE6 XOR BYTE(….) XOR BYTE(n-4);

八、        第n-1、n字节为命令尾,分别为ASSII码:|、};
寂青山
5楼-- · 2019-10-17 03:36
命令处理(仅供参考)        bit CommandLine_Active( unchar *CL )
        {
                switch( *(CL+4) )                                                        
                {
                        case 0x0A:
                                break;                                                               
                        case 0x0B:                                                               
                                break;

                        case 0x0C:                                                               
                                break;

                        case 0x0D:                                                               
                                break;
                        default:                                                               
                                return 0;
                                
                }

                return 1;                        
        }
寂青山
6楼-- · 2019-10-17 03:49
 精彩回答 2  元偷偷看……

一周热门 更多>