找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1808|回复: 4
收起左侧

stc8h单片机做pwm问题

[复制链接]
ID:964585 发表于 2021-9-22 22:56 | 显示全部楼层 |阅读模式
$%`MAOLIWK{6LKMLQN~7T[F(1).png 数据手册里面的pwm寄存器方面并没有介绍CCR1。只有CCR1H,CCR1L这两寄存器,手册的范例程序是使用CCR1这个寄存器的。 49de48cc8c0c681.jpg
回复

使用道具 举报

ID:123289 发表于 2021-9-23 08:41 | 显示全部楼层
这是由编译器说了算的。
[你的蓝底色下] 告诉编译器,CCR1H是CHAR,你如果按照CHAR法则去用它,看看行不行。
回复

使用道具 举报

ID:964585 发表于 2021-9-23 12:25 来自手机 | 显示全部楼层
yzwzfyz 发表于 2021-9-23 08:41
这是由编译器说了算的。
[你的蓝底色下] 告诉编译器,CCR1H是CHAR,你如果按照CHAR法则去用它,看看行不行 ...

CHAR是什么?
回复

使用道具 举报

ID:624769 发表于 2021-9-23 17:10 | 显示全部楼层

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

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

你DEBUG 的话 应该能看到,
不管是 PWMA_CCR1 = 3698
还是 分开写, 产生的编译后的代码都是一样的。
所以,你说得情况,应该是不存在的。
回复

使用道具 举报

ID:401564 发表于 2021-9-24 10:58 | 显示全部楼层
CCR1是包括了CCR1H,CCR1L这两寄存器,这是C语言上的,你没有看到它定义的是int型的吗?已经把这两个声明为16位的地址了
赋值0x0E72,编译器会自动的把0x0E, 0x72送到CCR1H,CCR1L这两寄存器的
楼上已经有人告诉你了,你代码都写错了
操作CCR1H,CCR1L这两寄存器也是一样的可以,只是你没有做对而已
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表