本帖最后由 yingjianruanhua 于 2024-9-5 01:02 编辑
在帖子里面回复,导致码字丢失!!!!!!!!
所以重开新帖
自己(参考官方文档)画了一块STC32G12K最小系统板(问题1)
1. 对P53端口设置为准双向模式
2. 使用STC-ISP 生成延迟函数,修改为指定毫秒延迟(问题2)
3. 烧录代码通电后,PWR灯常亮,WORK灯闪烁
代码如下:
- #include <STC32G.H>
-
- sbit LED_WORK = P5^3;
-
-
- void delayMs(int ms);
-
- void main() {
- // 设置为准双向模式
- P5M0 &= ~0x08;
- P5M1 &= ~0x08;
-
- while(1) {
- LED_WORK = 0x00;
- delayMs(300);
-
- LED_WORK = 0xFF;
- delayMs(160);
- }
-
- }
-
- void delayMs(int ms) //1毫秒@11.0592MHz
- {
- while ( --ms ) {
- AUXR |= 0x80; //定时器时钟1T模式
- TMOD &= 0xF0; //设置定时器模式
- TL0 = 0xCD; //设置定时初始值
- TH0 = 0xD4; //设置定时初始值
- TF0 = 0; //清除TF0标志
- TR0 = 1; //定时器0开始计时
-
- // 等待定时器溢出
- while (TF0 == 0); // 等待TF0标志置位
- TR0 = 0; // 停止定时器0
- }
- }
复制代码
碰到的问题:
1. 自己画的板子,焊接过程中,有虚焊,刚好是P53,导致排查问题花费了较长的时间
2. STC-ISP生成的代码,不带循环,添加循环后,需要加上等待重置,否则无法达到期望效果
3. 最开始使用的是KeilMDK,无法添加STC的库,后来才发现应该使用 Keil-C251
4. 我自己的 USB-TYPEC 数据线,无法使用官方的 USBHID模式,不清楚原因。重启了电脑,才可以
5. STC-ISP 烧录软件中,一定要勾选“每次下载前都重新装载文件”。否则因为没烧录最新固件,导致怀疑代码有问题
6. 帖子中的代码不能动,修改后,代码会缺失。就这样吧,难看就难看吧
看 一闪一闪亮晶晶
固件在这里
STC32G12K_P53闪灯.hex
(284 Bytes, 下载次数: 16)
|