未元星系 发表于 2024-7-19 10:31:21

STC8H8K64U的外部中断和定时器测量脉宽怎么显示获取的数据?



STC8H8K64U手册例程中断函数中将TH1和TL1的值分别赋值给了P1口和P0口,不太明白要怎样获取这个数据,望大佬指点。

soma 发表于 2024-7-19 10:47:56

能赋值说明可以直接读取,用变量串口输出就可以获取了

王昱顺 发表于 2024-7-19 10:49:31

这个P0和P1就是测量的脉宽数据。只是没有再定义变量。
可以通过定义一个unsigned int变量 MaiKuan |= TH1;MaiKuan<<=8;MaiKuan|=TL1;
这样在程序其他位置就可以使用INT读取到的高电平宽度了。

DebugLab 发表于 2024-7-19 10:58:10

直接输出到IO了
程序中要用的话,要拼接成16位,TH1左移8位再或TL1

未元星系 发表于 2024-7-19 11:56:55

王昱顺 发表于 2024-7-19 10:49
这个P0和P1就是测量的脉宽数据。只是没有再定义变量。
可以通过定义一个unsigned int变量 MaiKuan |= TH1;M ...

感谢感谢{:4_269:}

未元星系 发表于 2024-7-19 11:58:23

多谢各位指点{:4_206:}

网老四 发表于 2024-7-19 12:26:03

写一个串口1的驱动,把需要的数据用printf打印到烧录口,不用额外接线就能利用ISP的串口调试工具显示需要的数据

Yim_Hom 发表于 2024-7-19 12:52:59

直接串口就可以打印,或者用官方的虚拟硬件显示。
要打印的脉宽得重新定义一个变量,然后把TH1*256+TL1的结果赋值给这个变量。和3楼的方法一样。
通过串口printf打印这个变量,或者用官方的虚拟硬件来显示。
页: [1]
查看完整版本: STC8H8K64U的外部中断和定时器测量脉宽怎么显示获取的数据?