学习打卡《Ai8051U教学视频》第四天,USB不停电下载
学习打卡《Ai8051U教学视频》第四天,USB不停电下载学习知识点:需要提前学习相关USB串口的函数调用,具体实现不太明白,照做调试成功,先把装备调试好,方便接下来的实验,有空研究一下这个功能。
程序代码:
#include "ai8051u.h"
#include "stc32_stc8_usb.h"
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
void main(void)
{
P_SW2 |= 0x80; //B7位写1,使能访问XFR
P0M1 = 0x00; P0M0 = 0x00;
P1M1 = 0x00; P1M0 = 0x00;
P2M1 = 0x00; P2M0 = 0x00;
P3M1 = 0x00; P3M0 = 0x00;
P4M1 = 0x00; P4M0 = 0x00;
P5M1 = 0x00; P5M0 = 0x00;
P6M1 = 0x00; P6M0 = 0x00;
P7M1 = 0x00; P7M0 = 0x00;
usb_init();
IE2 |= 0x80;
EA = 1;
while (DeviceState != DEVSTATE_CONFIGURED);
while(1)
{
if (bUsbOutReady)
{
USB_SendData(UsbOutBuffer,OutNumber);
usb_OUT_done();
}
P20 = 0;
P22 = 0;
}
}
国芯AI8051U教学视频第四天:从入门到应用
国芯AI8051U是一款集成了AI核心的微控制器,支持语音识别、图像识别、自然语言处理等多种智能功能。在第四天的学习中,我们重点讲解了国芯AI8051U的入门知识、硬件安装和初步应用。
1. 国芯AI8051U的基础知识
国芯AI8051U是国芯的一款核心微控制器,其核心部分由IP-17760和IP-17660组成,具备8位微控制器的性能。在第四天的课程中,我们介绍了国芯AI8051U的核心特性,包括时钟频率、微控制器架构、以及与STM32微控制器的兼容性等。
2. 国芯AI8051U的硬件安装
在第四天的实验中,我们展示了如何将国芯AI8051U与STM32 microcontroller board(STM32 M3)实现无缝连接。首先,我们需要将STM32 M3连接到PCboard,并将IP-17760与IP-17660的地址位对齐。然后,完成硬件初始化后,我们就可以开始运行国芯AI8051U的程序了。
3. 国芯AI8051U的初步应用
在第四天的实践过程中,我们展示了如何使用国芯AI8051U进行简单的语音识别和图像识别任务。例如,我们展示了如何使用国芯AI8051U与STM32 board实现语音识别功能,以及如何通过图像识别功能来完成简单的图像分类任务。
4. 国芯AI8051U的后续学习
在第四天的学习中,我们还讨论了国芯AI8051U的未来发展方向和应用前景。例如,国芯正在研发AI4000系列,旨在实现更高的AI性能。此外,国芯还在不断优化国芯AI8051U的性能,以满足更多实际应用的需求。
总之,国芯AI8051U是一款功能强大且兼容性更强的微控制器,其在第四天的学习中为我们提供了宝贵的学习机会。通过本次实验,我们不仅加深了对国芯AI8051U核心原理的理解,还掌握了如何将国芯AI8051U与STM32 board实现高效连接和应用。
[本文内容由国芯人工智能辅助生成,仅供参考] USB不停电的代码,能不能封装成一个简单调用的函数,只加到头文件中就行,不需要在代码中间多处添加?不知道这样行吗? 在同一个帖子中打卡,不要再重新开帖了
学习打卡《Ai8051U教学视频》第五天,C语言基础知识
C言语基础:今天掌握部分知识点如下
1、CDC串口和普通串口的区别,是任意波特率都是可以工作的。
2、printf()不要放到循环外面,不然死循环不受控制。
3、printf()里面的参数,用转化说明符%表示后面的参数。普通字符在双引号里,附加参数分别用逗号隔开。如:printf("今天时%d年%d月%d日",25,5,26)
4、常用运算符,注意取整和取余的结果。
5、全局变量可以被调用的范围。
6、注意转义的时候要多一个符号,如%%。
学习打卡《Ai8051U教学视频》第六天,IO输入输出,按键检测实现
内容关键知识点:
GPIO(General Purpose I/O Ports)通用输入输出端口,输出输入高低电平的状态,高电平VCC电压,低电平GND,也就是逻辑1和0.
按键检测:
1、IO口的输入电压检测,电压要小于0.99V,
2、检测按键按下后显示的状态很好理解,要每按一次改变状态,要用到C语言的判断语句。
3、使用while语句锁定状态的用法。
4、物理按键接触抖动,消抖的代码实现。
学习视频链接:https://v.stcai.com/sv/4528efe-19375e5d457/4528efe-19375e5d457.mp4
学习打卡《Ai8051U教学视频》第七天,定时器中断的使用
定时器知识:中断是单线程执行中临时断开,用于计时,每隔一固定时间完成一项操作,替代长时间的Delay,提高程序的运行效率。
测试代码验证:
#include "ai8051u.h" //调用头文件
#include "stc32_stc8_usb.h" //调用头文件
#include "intrins.h" //d调用头文件
#define u8unsigned char
#define u16 unsigned int //16位无符号变量(0-65535)
u8 state = 0;
u8 Run_State = 0;
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
void Delay20ms(void) //@24.000MHzDelay20ms();
{
unsigned long edata i;
_nop_();
_nop_();
i = 119998UL;
while (i) i--;
}
void Timer0_Init(void); //3秒@24.000MHz //函数声明
void main(void)
{
int count=1; //按键计数变量
WTST = 0; //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
EAXFR = 1; //扩展寄存器(XFR)访问使能
CKCON = 0; //提高访问XRAM速度
P0M1 = 0x00; P0M0 = 0x00;
P1M1 = 0x00; P1M0 = 0x00;
P2M1 = 0x00; P2M0 = 0x00;
P3M1 = 0x00; P3M0 = 0x00;
P4M1 = 0x00; P4M0 = 0x00;
P5M1 = 0x00; P5M0 = 0x00;
P6M1 = 0x00; P6M0 = 0x00;
P7M1 = 0x00; P7M0 = 0x00;
usb_init(); //USB CDC 接口配置
IE2 |= 0x80; //使能USB中断
EA = 1; //IE |= 0X80;
P40 = 0;
while (DeviceState != DEVSTATE_CONFIGURED); //等待USB完成配置
while(1)
{
if (bUsbOutReady) //如果接收到了数据
{
//USB_SendData(UsbOutBuffer,OutNumber); //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
usb_OUT_done(); //
}
if( P32 == 0 ) //判断P32按钮是否按下
{
Delay20ms(); //延时20ms消抖
if( P32 == 0 )
{
P20 = 0;
Timer0_Init();
while( P32 == 0 ); //等待P32松开
}
}
if( P32 == 0 ) //判断P32按钮是否按下
{
Delay20ms(); //延时20ms消抖
if( P32 == 0 )
{
Run_State = !Run_State; //运行状态取反
if( Run_State==1 ) //运行
{
Timer0_Init();
}
else
{
TR0 = 0; //关闭定时器
P20 = 1;
P21 = 1;
}
while( P32 == 0 ); //等待P32松开
}
}
}
}
}
void Timer0_Init(void) //500毫秒@24.000MHz
{
TM0PS = 0x0F; //设置定时器时钟预分频
AUXR &= 0x7F; //定时器时钟12T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = 0xDC; //设置定时初始值
TH0 = 0x0B; //设置定时初始值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
ET0 = 1; //使能定时器0中断
}
void Timer0_Isr(void) interrupt 1 //3秒执行
{
state = !state;
P20 = state;
P21 = !state;
}
学习打卡《Ai8051U教学视频》第三天,点亮一颗LED灯
知识点:
1、对于AI8051U的程序有个P40要置1不太明白,后来翻看电路图才知道,这是另一款板子的,在擎天柱上不需要这个代码。
2、设置P0M1,P0M0端口的准双向口不太理解,接下来再看看有更详细的解释没。
本节课视频:
https://v.stcai.com/sv/20205293-19356be94a5/20205293-19356be94a5.mp4
学习打卡《Ai8051U教学视频》第二天,硬件介绍
知识点:
参照视频上的实验箱(目前还没有)的相关硬件部分,每一个元件功能我单独再去搜集了解了下功能。
看到视频和实验板和之前看到的不太一样,不知道到时候使用的时候是不是一样的功能,认真做好笔记,期待实物到手后再仔细研究。
把擎天柱板子上的插针都焊上,放在之前的简易板子上测试,通过。这个擎天柱板子配C口方便多了。
本节课视频:
https://v.stcai.com/sv/4ab26a33-1934c4b3f48/4ab26a33-1934c4b3f48.mp4
学习打卡《Ai8051U教学视频》第一天,序言及学习前准备工作
知识点:
冲哥老师讲解不急不慢,节奏适合我,一边看一边理解,可以暂停下来思考和练习。希望这个状态坚持到最后。加油!
学习方法最重要,要记笔记,尽量多的问号提出来,课后一个一个找到解决方法。
和跑步一样的道理,“群羊效应”会使一个人的毅力形成习惯,所以本论坛要有空就去观摩学习,吸收别人的看法意见、看别人的成果!
本节视频:
https://v.stcai.com/sv/502f521f-19341faaff4/502f521f-19341faaff4.mp4
页:
[1]
2