沁恒单片机代码下载

WCH单片机代码下载方式:

下载接口:

1、芯片自带USB接口(强推!好用)
2、芯片自带串口(TTL电平,可能会因为串口模块倒灌电、电平不匹配之类的问题导致下载失败)

下载工具:

1、利用电脑端的 WCHISPTool 下载
ISP工具截图

2、沁恒提供的脱机烧录器
(批量生产会用,下载实现方式和利用电脑下载原理一样)

3、调试接口
(部分芯片支持:103系列、蓝牙系列、USB3.0系列)
这里不做解释

下载原理:

  芯片上电过程中检测芯片的BOOT引脚的电平状态,满足条件则进入下载模式,此时芯片开始和ISP工具开始通讯,尝试进行下载。

下载方式:

1、USB:

软件准备:
  1、确保芯片信号、下载方法选择正确,同时也可以把用户程序文件选择好
在这里插入图片描述

  
板子操作方式,以DEMO板下载代码为例:
  1、板子上电源开关拨到OFF状态,保持芯片不上电
  2、用USB线将板子和电脑连接,确保用的USB线带D+D-数据信号线
  3、按住板子上标注DOWNLOAD(下载)的按键
  4、按住不松,将开关拨到ON(实现了芯片在上电过程中给BOOT引脚的特定电平)
  5、正确的话这个时候ISP工具中能够看到已经识别出来芯片了(识别出来芯片就可以松开按键了)
在这里插入图片描述
然后就可以愉快的下载代码了

2、串口下载
  串口下载会麻烦一点
1、软件需要将下载方式修改成串口,串口设别列表中的COM?一定要选择正确

在这里插入图片描述
2、和USB下载不同,需要先点下载,软件显示   “等待设备接入” 即可
在这里插入图片描述
板子操作方式:
  1、板子上电源开关拨到OFF状态,保持芯片不上电
  2、用DC电源连接到板子,串口模块的VCC接到DEMO板的VCC(避免USB直连电脑,避免USB先和电脑握手),串口TX、RX和串口模块对接好
  3、按住板子上标注DOWNLOAD(下载)的按键
  4、按住不松,将开关拨到ON(实现了芯片在上电过程中给BOOT引脚的特定电平)
  5、正确的话这个时候ISP工具中能够看到已经识别出来芯片了,并且直接开始下载代码了(开始下载就可以松开按键了)
  
  

常见下载失败原因:

USB:
1、板子D+、D-接反了
2、部分芯片BOOT引脚是芯片的D+引脚,在给这个引脚高电平信号的时候没有串电阻,导致USB数据线是直接钳位到高电平,导致USB通讯失败

串口:
1、串口倒灌电,芯片没有完全的下电,处于不正常的状态,换能够防止倒灌电的串口模块解决
2、串口电平不匹配,有的串口模块是5V电平,部分芯片IO工作在3.3V,也会导致下载失败
3、COM口选择错误
4、TX、RX接反了
5、直接拿232、485信号接到芯片串口上。。。。。。。。。。。

芯片BOOT引脚和下载接口索引:

慢慢完善

芯片型号BOOT引脚串口号USB
CH569PA5(低、默认)、PA13(低、配置)UART3USB2.0
CH565PA5(低、默认)、PA13(低、配置)UART3USB2.0
CH567PB10(低、默认)UART1USB1
CH568PB10(低、默认)UART1USB1
CH563PB7(低、唯一)UART1(PB10/PB11)唯一USB
CH561PB7(低、唯一)UART1(PB10/PB11)
CH559P4.6(低、默认)、P5.1(高、配置)UART0_(P0.2/P0.3)DP(P5.1)、DM(P5.0)
CH558P4.6(低、默认)、P5.1(高、配置)UART0_(P0.2/P0.3)DP(P5.1)、DM(P5.0)
CH557P15(低、默认)、P5.1(高、配置)
CH556P15(低、默认)、P5.1(高、配置)
CH555P15(低、唯一)UART0(P0.2/P0.3)唯一USB
CH554P3.6(高、默认)、P1.5(低、配置)UART1(P1.6/P1.7)唯一USB
CH552P3.6(高、默认)、P1.5(低、配置)UART1(P1.6/P1.7)唯一USB
CH551P3.6(高、默认)、P1.5(低、配置)UART1(P1.6/P1.7)唯一USB
CH546P5.1(高、默认)、P1.5(低、配置)UART1(P3.0/P3.1)唯一USB
随便写写。有错误欢迎提出
  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Modbus协议是一种用于通信和控制的开放式通信协议。在单片机中使用Modbus协议可以实现与其他设备的数据交互和控制功能。 要在单片机中实现Modbus通信,首先需要编写相应的代码。在开始编写代码之前,需要了解Modbus协议的基本概念和通信流程。 代码编写过程中,首先需要确定使用的通信接口,比如串口、以太网等。然后根据接口特性配置相关的寄存器、波特率等参数。 接下来,需要编写初始化函数,用于配置通信接口的参数以及初始化相关的寄存器。然后编写发送和接收函数,用于发送和接收Modbus命令。 在编写发送函数时,需要构造Modbus命令帧,包括设备地址、功能码、数据等。然后通过通信接口将命令帧发送给目标设备。 在编写接收函数时,需要不断检测接收寄存器,并判断接收到的数据是否为Modbus响应帧。如果是响应帧,则根据功能码解析数据并进行相应的处理。 最后,需要编写主程序,用于控制整个Modbus通信过程的流程和逻辑。主程序中可以包括周期性发送数据、接收数据、状态机控制等功能。 编写完成后,将代码下载单片机中,即可实现Modbus通信。可以使用调试工具对通信过程进行测试和调整,确保通信正常。 需要注意的是,每个单片机厂商对于Modbus通信实现的细节可能有所不同,因此在编写代码之前,最好查阅相关的单片机文档和资料,确保编写的代码能够正确运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值