stcgal/doc/zh_CN/FAQ.md

85 lines
4.1 KiB
Markdown
Raw Normal View History

2023-06-01 18:51:13 +02:00
文档说明 Explanation
------------------------
此文档翻译自FAQ.md
This document was translated from FAQ.md
最后修改时间2020年6月8日
Last modified time: June 8, 2020
常见问题
======================================
### 问题1是否可以从芯片中读取代码或EEPROM存储器
从设计上讲这是STC的引导加载程序协议无法实现的。 STC将此视为安全功能。目前没有已知的解决方法。有关更多详细信息和讨论请参见问题7。
### 问题2哪些串行接口已通过stcgal测试过
stcgal应该可以与波特率为16550的UART兼容。
但是如今基于USB模拟的UART是典型的情况。
以下是已通过stcgal成功测试的USB模拟UART接口芯片
* FT232系列操作系统LinuxWindows
* CH340 / CH341操作系统WindowsLinux需要内核4.10
* PL2303操作系统WindowsLinux
* CP2102操作系统WindowsLinuxmacOS
已知不起作用的接口:
* Raspberry Pi Mini UART缺少奇偶校验支持请启用PL011 UART
### 问题3stcgal 启动失败同时显示 `module 'serial' has no attribute 'PARITY_NONE'` 等类似信息
PyPI软件包“ serial”数据序列库和PyPI软件包“ pyserial”stcgal所需的串行端口访问库之间存在模块名称冲突。
您必须卸载'serial'软件包(`pip3 uninstall serial`)并重新安装'pyserial'`pip3 install --force-reinstall pyserial`)才能解决此问题。
目前没有其他已知的解决方案。
### 问题4stcgal无法识别MCU并停留在“Waiting for MCU”中
有许多问题可能导致此症状:
* 电气问题和错误连接。确保正确连接了RX / TXGND和VCC。
如果您不使用自动复位功能还应确保仅在stcgal启动后才接通电源因为引导加载程序仅在上电复位时被调用。
* 通过I / O引脚供电。
即使未连接VCC也可以通过I / O引脚例如RX / TX为MCU供电。
在这种情况下,上电复位逻辑不起作用。请参阅下一个问题。
* erial接口不兼容。由于各种原因一些基于USB的UART与STC MCU的兼容性很差。
您可以尝试使用选项`-l 1200`将握手波特率从标准2400波特降低到1200波特在某些情况下可以解决这些问题。
### 问题5如何避免MCU从I/O引脚供电
可以采取各种补救措施来避免MCU从I/O引脚供电。
* 您可以尝试在MCU VCC和GND之间连接一个电阻<1k以使注入的电源短路并希望将电压降至欠压值以下
* 另一种选择是在可能注入功率的I / O线上插入串联电阻。例如在RX / TX线上尝试一个类似1k的值。
* 还有另一种可能性是切换GND而不是VCC。
在大多数情况下,这应该是一个相当可靠的解决方案。
### 问题6RC频率调整失败
首先请确保指定的频率使用正确的单位。频率以kHz为单位指定安全范围约为5000 kHz-30000 kHz。
此外频率调整使用UART时钟作为时钟参考因此UART不兼容或时钟不准确也会导致频率调整问题。如果可能的话
尝试另一个UART芯片。
### 问题7波特率切换失败或闪存编程失败
特别是在高编程波特率,例如, 115200波特。尝试降低波特率或使用默认的19200波特率。
某些USB UART也会由于时序不正确而引起问题这可能会导致各种问题。
### 问题8如何使用自动重置功能
标准自动重置功能的工作原理与Arduino类似。 DTR是低电平有效信号在stcgal启动时置位500 ms然后在其余的编程序列中置为无效。
在标准USB UART上这将导致500 ms的低脉冲然后是高相位。 stcgal作者推荐以下电路
```
VCC --o o-- MCU GND
| |
.-. |
| | 1k |
| | |
'_' |
| |
| ||-+
DTR --o --||<- BS170/BSS138
||-| (N-CH MOSFET)
|
|
GND ---------o
```
该电路使用一个N沟道MOSFET作为开关来切换MCU的GND。 VCC直接连接。这避免了寄生供电问题。上拉电阻可确保在DTR输入悬空时接通MCU。