yingjianruanhua 发表于 2024-9-5 00:41:08

学习【布丁橘长】有关STC32G12K128 心得_20240905

本帖最后由 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. 帖子中的代码不能动,修改后,代码会缺失。就这样吧,难看就难看吧




看 一闪一闪亮晶晶

固件在这里






页: [1]
查看完整版本: 学习【布丁橘长】有关STC32G12K128 心得_20240905