STC单片机使用RS485下载程序方法

前提:STC单片机的固件库版本为x.x.4版本。查看固件库方法:

打开最新的STCISP程序,在主界面中选择检测MCU选项



这里使用的是STC15W204S芯片,固件库版本为7.1.4T,符合x.x.4的要求,故可以使用RS485下载程序。

开始下载程序之前,请准备好一个RS232转RS485双向转换器。

打开STCISP程序主界面,选择下图红框中的选项卡,点击向右按钮直到出现”RS485控制”选项卡出现为止,选择”RS485控制”选项卡


然后接下来按照下面步骤进行:(一步一步来,否则失败):

1. 首先需要设置好相应的485控制端口,并勾选上"下次下载时使能目标芯片的485控制功能"这个选项

2. 然后使用普通下载方式将485相关的硬件选项写入到目标芯片

3. 保持第一步时的设置不变,此时需要将"本次使用RS485进行控制下载"的选项勾选上(此选项的作用是使PC端也采用485的控制方式发送/接收串口数据)

4. 此时,再点击下载编程按钮,并对目标芯片重新上电即可实现使用485进行控制下载的功能

特别注意:

    若需要485控制功能,则每次都需要

    将485相关的设置配置好,并勾选上

   "下次下载时使能目标芯片的485

控制功能"这个选项

 

 

上面的操作过后,点击下载程序,是可以与单片机连接上的。

下载成功率根据232转485转换器的不同而区别。

如果总是提示下载失败,请设置下载的波特率最小1200,最大9600或最小1200,最大1200。这时应该会100%下载成功,但速度不能保证。


抱歉,作为AI语言模型,我没有能力编写具体的程序。但是我可以给您提供一些基础知识和参考资料,希望对您有所帮助。 STC32G是一款单片机芯片,支持多种通信协议,包括UART、SPI、I2C、RS485等。RS485是一种全双工通信协议,可实现多点通信和长距离传输。 下面是一个简单的STC32G与RS485通信的程序框架,供您参考: ``` #include <reg52.h> //头文件 #include <intrins.h> #define uchar unsigned char #define uint unsigned int sbit RS485_EN = P1^0; //RS485使能引脚 void Delay5us() //延时函数 { _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); } void SendData(uchar *buf, uchar len) //发送数据函数 { RS485_EN = 1; //使能RS485发送模式 for (uchar i = 0; i < len; i++) { SBUF = buf[i]; //发送数据 while (!TI); //等待发送完成 TI = 0; //清除发送完成标志位 Delay5us(); //延时 } RS485_EN = 0; //关闭RS485发送模式 } void ReceiveData(uchar *buf, uchar len) //接收数据函数 { uchar i = 0; while (i < len) { if (RI) //接收到数据 { buf[i] = SBUF; //保存数据 RI = 0; //清除接收标志位 i++; //累加接收计数器 } } } void main() { uchar buf[10] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A}; //要发送的数据 uchar recv_buf[10] = {0}; //接收缓存区 EA = 1; //开启总中断 ES = 1; //开启串口中断 TMOD = 0x20; //定时器1工作在方式2 TH1 = 0xFD; //设置波特率为9600 TL1 = 0xFD; TR1 = 1; //启动定时器1 while (1) { SendData(buf, 10); //发送数据 ReceiveData(recv_buf, 10); //接收数据 } } void Serial_ISR() interrupt 4 using 1 //串口中断服务函数 { if (TI) //发送中断 { TI = 0; } if (RI) //接收中断 { RI = 0; } } ``` 需要注意的是,以上代码仅为框架,具体实现还需要根据具体需求进行修改。同时,还需要根据实际情况选择合适的通信协议、波特率等参数。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值