琪琪鸭 发表于 2024-10-21 22:09:50

关于Ai32G12K128取余计算 不运行的问题

本帖最后由 DebugLab 于 2024-10-22 10:00 编辑

基于官方资料 STC_USB_LIBRARY_DEMO\STC_CDC_INTERRUPT_LIBRARY\stc32g_cdc_interrupt_demo进行usb功能测试。
一下是自己写了一个 usb接收到长度进行长度数值打印。num预计取值范围1-25.
完整代码放在二楼,望大神解答一下为啥我的取余会直接卡死。
错误情况查看代码后的注释。

void aixx(u8 num)
{

if(num >= 10)
{
      
outnum12 = (num/100)+0x30;
      outnum12 = num;
      USB_SendData(outnum12,2);

      //以上是可以执行的
      
      //一下是错误的
      
//P2=(num-( (num/100)*100)) /10;   // 错误不会继续执行   我试了一下 去掉/10可以运行
//      P2=num%100;    //错误不会继续执行了
      
      //以下修改可运行
//         num = 15;
      //      P2=num%100;    //这样可以继续执行了
      
      
      //         num = 15;
//P2=(num-( (num/100)*100)) /10;   //这样可以继续执行了
      

      outnum12 =0x31;
//outnum12 =(num%10)+0x30;

}
else
{
outnum12 =0x30;
      outnum12 = 0x30;
outnum12 = num + 0x30;

}

}

琪琪鸭 发表于 2024-10-21 22:10:14

本帖最后由 琪琪鸭 于 2024-10-22 20:26 编辑

管理员 帮我删一下吧 我在usb专区重新发了

琪琪鸭 发表于 2024-10-21 22:15:04

本帖最后由 琪琪鸭 于 2024-10-22 20:26 编辑

管理员 帮我删一下吧 我在usb专区重新发了

琪琪鸭 发表于 2024-10-21 22:20:19

但是    outnum12 = (num %10)   + 0x30;可以正确执行。此时num值=12

发送→               123456781112
接收←012            123456781112
页: [1]
查看完整版本: 关于Ai32G12K128取余计算 不运行的问题