关于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-22 20:26 编辑
管理员 帮我删一下吧 我在usb专区重新发了 本帖最后由 琪琪鸭 于 2024-10-22 20:26 编辑
管理员 帮我删一下吧 我在usb专区重新发了 但是 outnum12 = (num %10) + 0x30;可以正确执行。此时num值=12
发送→ 123456781112
接收←012 123456781112
页:
[1]