ch552开发环境配置

ch552是一款不错的单片机,南京沁恒做的,带有USB功能的8051系列。我搭了一个环境测试一下,可编译,并下载成功。我把文件打了一个包放在baidu网盘。

链接:https://pan.baidu.com/s/1sPkTx3WBNxFaDkTFqH_1jQ 
提取码:06l0 
 

压缩包中包含一个视频,无声的。

在这写一篇博客,顺便加强一下记忆。

压缩包主要有以下内容

其中ch55x_jtag-master是一个用ch552t做的高云仿真器,也就是tang nano这个开发板中ch552t的源码,他主要仿真ft2232这个器件,烧了这个代码插入电脑就会有两个串口,但是这个仿真器只能在低于1.9.8.01的高云开发软件上使用,而且不包括1.9.8.01这个版本,我咨询了高云FAE,他们说在新版本上禁用tang nano这种方式,真正的FT2232的器件时没有问题的。

ch552_ex1:是在github上下载一个ch552代码,写的简洁,如果开发自定义设备,建议使用ch552_ex1这个工程

make.exe:读取makefile,执行makefile工具

sdcc-3.5****:编译器

test.bat:里面就写了一句话cmd,主要是双击快速打开命令行工具

WCHISPTool****:单片机烧写工具。

这里所以软件都是64位,在win10下测试过。

1.首先安装sdcc,双击安装,其中过程就不详述,除了路径我修改了,其它所以选项都默认

 最后加入环境变量中,这个保持默认,有可能杀毒软件不让修改,要注意

 安装完了测试一下,双击test.bat,在弹出的控制台输入sdcc -v,如下图

 如果出现上述情况,就是环境变量没有添加上去,你可以手动添加上去,或者安装的时候把杀毒软件退了,选择管理员权限。我不想这么麻烦就直接在test.bat加了一句话

set path=d:\SDCC\bin;%path%

test.bat内容如下

 上面就是临时添加环境变量,只在当前控制台有效,一旦关闭,环境变量就消失了。换句话说,你双击test.bat后打开的黑框中环境变量被临时修改了,不会影响其它程序,一旦关闭这个黑框,环境变量设置就消失了。

再次测试 sdcc -v

 输入版本信息,说明正常了。接下来开始编译工程测试一下

2.编译工程。

先编译ch552_ex1测试

首先把make.exe复制到ch552_ex1这个文件夹里面

接着双击test.bat 输入命令进入ch552_ex1这个文件夹

cd ch552_ex1

如下图

 输入make开始编译

 最终会在文件夹中生成usbjtag.hex文件和usbjtag.bin文件,这两个文件任选其一,使用WCHISPTool工具烧写,WCHISPTool工具支持hex文件和bin文件作为程序下载文件。

烧写过程就不说了.......

编译ch55x_jtag-master工程

首先需要把make.exe复制到ch55x_jtag-master\src

双击test.bat进到ch55x_jtag-master\src文件夹

cd ch55x_jtag-master\src

输入make即可

 最终生成文件usb_jtag.ihx和usb_jtag.bin任选其一拿去烧写到ch552中即可。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CH552是一款8051系列的单片机,它有自己的硬件SPI接口。SPI接口有四根线:SCLK(时钟线)、MOSI(主设备输出从设备输入线)、MISO(主设备输入从设备输出线)和CS(从设备使能线)。使用SPI接口时,需要先设置SPI时钟频率、数据位长度等参数,然后通过SPI发送和接收数据。以下是CH552的SPI初始化和发送数据的示例代码: ```c #include <ch552.h> // 初始化SPI接口 void SPI_Init(void) { // 设置SPI时钟频率 SPICFG = 0x60; // SPI时钟频率为Fosc/64 // 设置数据位长度为8位 SPIDAT &= ~0x03; // 清除低2位 SPIDAT |= 0x00; // 数据位长度为8位 // 使能SPI接口 SPICFG |= 0x40; // 使能SPI接口 } // 发送一个字节数据 void SPI_WriteByte(uint8_t data) { SPIDAT = data; // 发送数据 while (!(SPISTA & 0x80)); // 等待发送完成 } // 发送多个字节数据 void SPI_WriteData(uint8_t *data, uint8_t len) { uint8_t i; for (i = 0; i < len; i++) { SPI_WriteByte(data[i]); // 发送数据 } } ``` 使用SPI接口时,需要先拉低CS引脚,然后发送数据,最后再拉高CS引脚。下面是一个示例代码: ```c #include <ch552.h> void main() { uint8_t data[] = {0x55, 0xAA, 0x33, 0xCC}; uint8_t len = sizeof(data) / sizeof(data[0]); P3_DIR_PU |= 0x04; // 设置CS引脚为输出,上拉 SPI_Init(); // 初始化SPI接口 while (1) { P3_4 = 0; // 拉低CS引脚 SPI_WriteData(data, len); // 发送数据 P3_4 = 1; // 拉高CS引脚 } } ``` 以上代码仅供参考,具体应用中需要根据实际情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jjinl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值