又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

2019-03-25 18:44发布

PIC24FJ64GA004单片机时钟选择的改如何设置呢?我目前编写了个程序。用软件仿真SIM进行仿真延时函数        delay1s();延时的时间是160多ms.但是在proteus仿真软件上仿真的效果却是延时了3秒左右。LED亮3秒熄灭3秒左右循环。不知道哪里出了问题。老铁们帮忙看看。谢谢了。
附上程序和仿真图。
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
dcexpert
2019-03-27 01:41
dcexpert 发表于 2018-9-2 14:54
大部分C编译器都支持的。

比如说:

#define IO_OUTPUT   0
#define IO_INPUT    1

#define PIN_DIR(pin, DIR)            MACRO_CONCAT3(_TRIS, MACRO_ARG21(pin), MACRO_ARG22(pin)) = DIR

在程序中,定义了LED的引脚:

#define LED1        A, 1


初始化时设置:
PIN_DIR(LED1, IO_OUTPUT)

它的实际结果就是
_TRISA1 = 1

这样的用法看起来很复杂,但是好处是可以让程序有较好的移植性和可读性,在不同的C编译器和不同单片机上更方便的移植代码。

更详细的解释可以参考我在《AVR单片机应用专题精讲》一书中的说明和举例。

一周热门 更多>