本帖最后由 chuandaoxy 于 2024-4-18 09:47 编辑
这几天在调试测距部分,因为设计硬件时使用了PB0,PB1,所以要使用icp的捕捉功能,328源代码如下,要移植到mega8
#define FOSC 16000000UL
#define baud_rate 9600
#define baud FOSC/16/baud_rate-1
#define TICKS_VAL (FOSC/256)
#define F_OC2A 50000L
#define OC2A_PRESCALER 8L
#define OCR2A_VALUE (float)( (FOSC/(2*OC2A_PRESCALER*F_OC2A)) -1)
目前晶振安装的是12M,baud 可以自动转换,
#define F_OC2A 50000L 设定值不能变
下面两个如何更改
#define OC2A_PRESCALER 8L
#define OCR2A_VALUE (float)( (FOSC/(2*OC2A_PRESCALER*F_OC2A)) -1)
我也在看datasheet
|