STC系列单片机和MacOS/Linux下载程序

STC系列单片机简介

stc89系列:传统单片机,一条指令一般至少12个时钟周期,12/24/48不等;具有外部中断、定时器、UART功能,时钟频率支持0-42M;
stc12系列:高速单片机,单条指令需要1-12个时钟周期不等,一般比89系列快6-8倍,很多型号支持内部RC时钟和外部晶振时钟,除了89系列的资源,往往还有AD、PWM、PCA、SPI功能,时钟频率支持0-35M;
stc15系列:除了以上,其内部的RC震荡电路,具有高精度,且可调的特点。

MacOS/Linux/树莓派 配置

  1. 安装sdcc作为编译器;安装stcgal作为下载器;
  2. 在mac上还可以安装visual studio code,然后安装Platform.IO插件,达到类似keil的效果。
  3. 树莓派就是一个Linux系统,和Linux配置是一样的。
  4. 最小电路:
    1. Vcc/Gnd
    2. 如果使用外部时钟,需要外接晶振和起振电容,在使用内部晶振的情况下,晶振引脚维持稳定电平,无震荡;
    3. 某些型号的单片机,需要将P1.0, P1.1引脚接低电平,具体参见数据手册;

FAQ

  1. 12系列单片机如何切换内部、外部时钟?
    指定clock_source选项 stcgal -D -o clock_source=internal playground1.ihx -p /dev/ttyUSB0,参见stcgal说明文档:doc
  2. stc12c5410ad stcgal -D playground1.ihx -p /dev/ttyUSB0遇到下列问题(一般是没有指定平台,即单片机系列型号):
Waiting for MCU, please cycle power: <- Packet data: FF
<- Packet data: 46 B9 68 00 29 00 04 DE 04 DE 04 DE 04 DE 04 DE 04 DE 04 DE 04 DE 66 45 00 E0 6A 83 FD F7 F7 FF FF FF BF FF FD F7 F7 FF 04 AD 16
done
Protocol detected: stc12
<- Packet data: 46 B9 68 00 29 00 04 DE 04 DE 04 DE 04 DE 04 DE 04 DE 04 DE 04 DE 66 45 00 E0 6A 83 FD F7 F7 FF FF FF BF FF FD F7 F7 FF 04 AD 16
Protocol error: packet checksum mismatch
-> Packet data: 46 B9 6A 00 07 82 00 F3 16
Disconnected!

或者(一般是将platform参数指定为stc12)

Waiting for MCU, please cycle power: <- Packet data: C0
<- Packet data: 46 6E
<- Packet data: 0B
<- Packet data: 29
<- Packet data: 25
<- Packet data: 57
<- Packet data: FA
<- Packet data: 25
<- Packet data: 57
<- Packet data: FA
<- Packet data: 25
<- Packet data: 57
<- Packet data: FA
<- Packet data: 25
<- Packet data: 57
<- Packet data: FA
<- Packet data: 66
<- Packet data: 51
<- Packet data: E0
<- Packet data: AD
<- Packet data: FF
<- Packet data: DF
<- Packet data: FF
<- Packet data: FF
<- Packet data: FB
<- Packet data: FF
<- Packet data: DF
<- Packet data: FF
<- Packet data: 50
<- Packet data: 16

显式指定芯片类型为stc12a. stcgal -D -P stc12a playground1.ihx -p /dev/ttyUSB0. 这是stcgal的一个issue

  1. stc12c56系列无法下载
    一般使用内部时钟不会有问题;如果使用外部时钟,需要将P1.0,P1.1接地,官方文档电路有示意,但是没有强调。
    .
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值