标题: stc8h单片机做pwm问题 [打印本页]

作者: 艾尔之光tt    时间: 2021-9-22 22:56
标题: stc8h单片机做pwm问题
数据手册里面的pwm寄存器方面并没有介绍CCR1。只有CCR1H,CCR1L这两寄存器,手册的范例程序是使用CCR1这个寄存器的。

作者: yzwzfyz    时间: 2021-9-23 08:41
这是由编译器说了算的。
[你的蓝底色下] 告诉编译器,CCR1H是CHAR,你如果按照CHAR法则去用它,看看行不行。
作者: 艾尔之光tt    时间: 2021-9-23 12:25
yzwzfyz 发表于 2021-9-23 08:41
这是由编译器说了算的。
[你的蓝底色下] 告诉编译器,CCR1H是CHAR,你如果按照CHAR法则去用它,看看行不行 ...

CHAR是什么?
作者: 188610329    时间: 2021-9-23 17:10
艾尔之光tt 发表于 2021-9-23 12:25
CHAR是什么?

3698 = 0x0E72;    你写的是:   0x0E, 0x77

你确定是 不能动作,不是因为数值不对,达不到 你要的效果?

你DEBUG 的话 应该能看到,
不管是 PWMA_CCR1 = 3698
还是 分开写, 产生的编译后的代码都是一样的。
所以,你说得情况,应该是不存在的。
作者: Y_G_G    时间: 2021-9-24 10:58
CCR1是包括了CCR1H,CCR1L这两寄存器,这是C语言上的,你没有看到它定义的是int型的吗?已经把这两个声明为16位的地址了
赋值0x0E72,编译器会自动的把0x0E, 0x72送到CCR1H,CCR1L这两寄存器的
楼上已经有人告诉你了,你代码都写错了
操作CCR1H,CCR1L这两寄存器也是一样的可以,只是你没有做对而已





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1