For loop 未签名字符超出范围

For loop 未签名字符超出范围,for-loop,pic,unsigned-char,For Loop,Pic,Unsigned Char,我试图弄明白,如何在for循环中使用无符号字符类型的变量,同时不“打破”无符号字符的范围,该范围可以从0到255不等 main(无效){ TRISC=0; LATC=0; 无符号字符j; 对于(j=0;jjj首先,在微控制器固件中,您不应该从main()返回。您的main()应该包含某种无限循环 j首先,在微控制器固件中,您不应该从main()返回。您的main()应该包含某种无限循环 j内存很便宜-将j更改为unsigned int.@cup相同的警告。这一定是因为您只能将char分配给PIC

我试图弄明白,如何在
for
循环中使用
无符号字符
类型的变量,同时不“打破”
无符号字符的范围,该范围可以从0到255不等

main(无效){
TRISC=0;
LATC=0;
无符号字符j;

对于(j=0;j
j
j首先,在微控制器固件中,您不应该从
main()
返回。您的
main()
应该包含某种无限循环


j首先,在微控制器固件中,您不应该从
main()
返回。您的
main()
应该包含某种无限循环


j内存很便宜-将j更改为unsigned int.@cup相同的警告。这一定是因为您只能将
char
分配给PIC的任何端口。这是我在这里使用
char
的唯一原因。请在分配side之前尝试强制转换注意:j永远不会达到256,它将溢出到0,因此for循环条件基本上是en懒散的loop@cup在一个8位PIC单片机中内存不是很便宜。一个人也必须考虑执行速度。内存是便宜的。更改J到未签名INT.@ CUP相同警告。这必须是因为你只能将代码> char < /代码>分配给PIC的任何端口。这是我使用<代码> char < /> >的唯一原因。在分配SID之前尝试一下。enote:j永远不会达到256,它将溢出到0,所以for循环条件基本上是无止境的loop@cup在8位PIC单片机中,内存并不便宜,还必须考虑执行速度。
main(void) {
    TRISC = 0;
    LATC = 0;
    int j;

    for (j = 0; j <= 255 ; j++){
        LATC = (unsigned char)j;
        __delay_ms(1000);
    }
    return;
}