- 打卡等级:偶尔看看III
- 打卡总天数:55
- 最近打卡:2025-10-31 09:22:07
已绑定手机
金牌会员
- 积分
- 1025
|
谈一下使用了几天的体会:
本来我是打算好好学习一下USB-CDC的,结果老师要求先看3集的AiCube
肯定不是第一次看,看完觉得挺好的,起码把架子搭起来
但是遇到细节问题:始终看不懂自动生成的一些代码,还有细节搞不清楚:
例如:
////////////////////////////////////////
// 项目主函数
// 入口参数: 无
// 函数返回: 无
////////////////////////////////////////
void main(void)
{
//<<AICUBE_USER_MAIN_INITIAL_BEGIN>>
// 在此添加用户主函数初始化代码
u8 i=1;
u8 tmp[8];
//<<AICUBE_USER_MAIN_INITIAL_END>>
SYS_Init();
//<<AICUBE_USER_MAIN_CODE_BEGIN>>
// 在此添加主函数中运行一次的用户代码
P40 = 0; //三极管引脚输出低电平
P60 = 0; //输出低电平 //这2颗灯亮了
P61 = 0; //输出低电平 //说明这段程序是执行了
printf_usb( " A 首先从24C02读取8个数: \r\n");
printf_usb( " B 把从24C02读取8个数加1后写入24C02:\r\n");
printf_usb( " C 把从24C02读取8个数减1后写入24C02:\r\n");
printf_usb( " D 把24C02地址0x0000的8个数清零: \r\n");
IIC_Read_NGByte(0,tmp, 8); //读地址0开始的8个字节
for( i=0;i<8;i++ )
{
printf_usb( "%u\t",tmp[i] );
} //为什么串口助手看不到以上打印结果?
//可能是USB查询方式,只有在回答查询的时候才输出?
delay_ms(2000);
for(i=0; i<8; i++) LED8[i] = tmp[i] & 0x0f; //数码管打印8个字节
//<<AICUBE_USER_MAIN_CODE_END>>
while (1)
{
//USBLIB_OUT_Done(); //查询方式处理USB接收的数据
//<<AICUBE_USER_MAIN_LOOP_BEGIN>>
// 在此添加主函数中用户主循环代码
这5句打印函数,执行了么?
为什么串口助手上一点都看不到?
之前我就遇到过打印函数执行后,串口没有任何痕迹,也没通道阻塞死机之类的
完全没办法解决,也不知道是什么原因引起,讲真,还不知道问谁..............
这类问题,前年遇到后找了好几个学校的老师问,也是没什么有效的答案
|
|