32G12K128试验箱进度 | 如何快速入门
之前开了一个相关帖子,想的是用来展示学习进度,开始的非常不顺利。已经变成提问解答帖了,感谢各位大佬、官方的支持!!!!!!
遇到各种各样的问题(大佬眼里的小问题),感受到实践才能检验一切真理!
第一个项目已经完成,实现的点亮LED不断电下载。(3天时间才完成不断电下载);
https://www.stcaimcu.com/data/download/Datasheet/STC32G.pdf
先做下面三个实验
AiCube-可视化 图形 I/O配置 及 各种外设 系统框架程序 自动生成 体验
https://v.stcai.com/sv/4912a53-196e6d92db9/4912a53-196e6d92db9.mp4
https://v.stcai.com/sv/405d8868-196854dbbb3/405d8868-196854dbbb3.mp4
神农鼎 发表于 2025-6-1 15:15
https://www.stcaimcu.com/data/download/Datasheet/STC32G.pdf
先做下面三个实验
这三项都完成了,冲哥视频方式设置的不停电下载没有成功,在论坛求助解决的。 神农鼎 发表于 2025-6-1 15:18
AiCube-可视化 图形 I/O配置 及 各种外设 系统框架程序 自动生成 体验
这两个视频讲解的东西太实用了,感谢大佬!
第二步
printf("Hello World!\r\n"); 完成实验,中间又是出了很多问题。最终还是完成了!
把最新数据手册的 第二章详读下,再看下我们的讲解视频
AiCube-可视化 图形 I/O配置 及 各种外设 系统框架程序 自动生成 体验
https://v.stcai.com/sv/4912a53-196e6d92db9/4912a53-196e6d92db9.mp4
用最新 ISP 软件,在KEIL仿真设置中,重新添加头文件
深圳国芯人工智能有限公司-工具软件
看了冲哥STC32课程第五节上,完成printf,电脑发送指令单片机返回信息的指令。
冲哥第九节数码管静态显示已完成
按照冲哥教学,
第一步完成模块化建立工程,main.ctest.c test.h 文件创立。
工程中添加test.c 。
test.h 中添加#ifndef __test_h#define __test_h 。
并把需要引用的头文件全部引用。
声明全部声明。
test.c 中引用#include “test.h”
实现第一个数码短0-9之间循环显示,按键时蜂鸣器鸣叫。
P3.2按键每按一次数字循环递增,P3.3按键每按一次循环递减。
P3.4按键按下依据显示数字蜂鸣器响几声。
main.c文件内容
#include "test.h" //调用模块化定义文件
void main() //主函数
{
//---------------------------------调用 --------------------------------
sys_init(); //调用系统初始化函数
usb_init(); //调用USB初始化函数
EA = 1; //中断总使能
while(1)
{
//---------------------------------USB --------------------------------
if(bUsbOutReady) //读取USB口状态
{
usb_OUT_done(); //确认USB口完成传输
}
////---------------------------------按键 --------------------------------
Test();
}
}
test.c文件
#include "test.h"
char mun = 0,i;
u8 SEG_TAB = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void Test(void) //
{
P70 = 0;
P6 = SEG_TAB;
if(Key1 == 0)
{
delay_ms(10);
if(Key1 == 0)
{
Beep = 0;
delay_ms(10);
Beep = 1;
mun++;
if(mun > 9) mun = 0;
}
while(Key1 == 0);
}
if(Key2 == 0)
{
delay_ms(10);
if(Key2 == 0)
{
Beep = 0;
delay_ms(10);
Beep = 1;
mun--;
if(mun < 0) mun = 9;
}
while(Key2 == 0);
}
if(Key3 == 0)
{
delay_ms(10);
if(Key3 == 0)
{
for( i = mun;i > 0;i--)
{
Beep = 0;
delay_ms(10);
Beep = 1;
delay_ms(200);
}
}
while(Key3 == 0);
}
}
void delay_ms(u16 ms)
{
u16 i;
do
{
i = MAIN_Fose/6000;
while(--i);
}while(--ms);
}
void sys_init()
{
EAXFR = 1;
WTST = 0;
CKCON = 0;
P0M0 = 0x00;P0M1 = 0x00;
P1M0 = 0x00;P1M1 = 0x00;
P2M0 = 0x00;P2M1 = 0x00;
P3M0 = 0x00;P3M1 = 0x00;
P4M0 = 0x00;P4M1 = 0x00;
P5M0 = 0x00;P5M1 = 0x00;
P6M0 = 0x00;P6M1 = 0x00;
P7M0 = 0x00;P7M1 = 0x00;
}
test.h文件
#ifndef __TEST_H
#define __TEST_H
#include "stc32g.h" //调用头文件
#include "ai_usb.h" //调用USB文件
#define Key1 P32 //定义端口名称
#define Key2 P33 //定义端口名称
#define Key3 P34
#define Beep P54
#define MAIN_Fose 24000000UL
void delay_ms(u16 ms);
void sys_init();
void Test(void);
#endif
页:
[1]