| 
				打卡等级:偶尔看看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句打印函数,执行了么?
 
 为什么串口助手上一点都看不到?
 
 之前我就遇到过打印函数执行后,串口没有任何痕迹,也没通道阻塞死机之类的
 
 完全没办法解决,也不知道是什么原因引起,讲真,还不知道问谁..............
 
 这类问题,前年遇到后找了好几个学校的老师问,也是没什么有效的答案
 
 
 | 
 |