找回密码
 立即注册
查看: 442|回复: 3

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

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:49
  • 最近打卡:2025-05-08 19:25:52

9

主题

62

回帖

705

积分

高级会员

积分
705
发表于 2024-10-21 22:09:50 | 显示全部楼层 |阅读模式
本帖最后由 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[0] = (num/100)+0x30;
        outnum12[1] = 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[1] =0x31;
//outnum12[2] =(num%10)+0x30;

}
else
{
outnum12[0] =0x30;
        outnum12[1] = 0x30;
outnum12[2] = num + 0x30;

}

}
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:49
  • 最近打卡:2025-05-08 19:25:52

9

主题

62

回帖

705

积分

高级会员

积分
705
发表于 2024-10-21 22:10:14 | 显示全部楼层
本帖最后由 琪琪鸭 于 2024-10-22 20:26 编辑

管理员 帮我删一下吧 我在usb专区重新发了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:49
  • 最近打卡:2025-05-08 19:25:52

9

主题

62

回帖

705

积分

高级会员

积分
705
发表于 2024-10-21 22:15:04 | 显示全部楼层
本帖最后由 琪琪鸭 于 2024-10-22 20:26 编辑

管理员 帮我删一下吧 我在usb专区重新发了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:49
  • 最近打卡:2025-05-08 19:25:52

9

主题

62

回帖

705

积分

高级会员

积分
705
发表于 2024-10-21 22:20:19 | 显示全部楼层
但是    outnum12[2] = (num %10)   + 0x30;  可以正确执行。此时num值=12

[22:19:54.417]发送→                 123456781112
[22:19:54.418]接收←012            123456781112
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-9 09:16 , Processed in 0.128372 second(s), 63 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表