29得票8回答
PIC 18F中PORT和LATCH的区别

我已经阅读了数据手册和谷歌,但仍然不明白某些内容。 在我的情况下,我将PIC18F26K20的PIN RC6设置为输入模式: TRISCbits.TRISC6 = 1; 然后我使用PORT和LATCH读取该值,但我得到了不同的值!v1 = LATCbits.LATC6; v2 = PORT...

12得票5回答
在Microchip C18中,为什么插入NOP会导致更大的代码?

我在中断服务程序中有一些代码。这里提供代码仅供完整性参考,问题只涉及被注释的 __asm_ 块。如果没有 __asm_ 块,则编译后的指令长度为82条。如果有 __asm_ 块,则结果长度为107条。为什么会有这么大的差别?以下是C代码:if (PIR1bits.SSPIF) { sp...

9得票3回答
处理1-256字节的函数最佳实践

我有一些处理1-256字节的函数,运行在嵌入式C平台上,在这个平台上传递一个字节比传递一个int更快更紧凑(一个指令与三个指令),那么编码的首选方式是什么: 接受一个int,如果为零,则提前退出,否则将计数值的LSB复制到无符号字符中,并在do {} while (--count)循环中使...

9得票13回答
使用C语言在PIC18上进行多线程编程

在没有操作系统的情况下,如何创建能够并行运行的线程来编程PIC18微控制器?