学习【布丁橘长】有关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]