[STM8] 小白求助

[复制链接]
5202|56
 楼主| sang523 发表于 2016-10-13 11:31 | 显示全部楼层
皈依 发表于 2016-10-13 11:30
换个定时器把 tim作为PWM输出之后再设置为中断模式的话PWM功能会被覆盖

怎么我看他们说这两个功能可以一起用啊
 楼主| sang523 发表于 2016-10-13 11:32 | 显示全部楼层
wahahaheihei 发表于 2016-10-13 10:35
如果你delay里面是一直在扫描定时器,那么delay完毕后,你再关闭也可以。

刚刚接触,小白一个,什么叫扫描定时器。
 楼主| sang523 发表于 2016-10-13 11:36 | 显示全部楼层
皈依 发表于 2016-10-13 11:30
换个定时器把 tim作为PWM输出之后再设置为中断模式的话PWM功能会被覆盖

好像不是进入中断模式,就是tim1定时器计数更新中断个数来达到定时的目的,我不知道这样说对不对
皈依 发表于 2016-10-13 13:47 | 显示全部楼层
sang523 发表于 2016-10-13 11:36
好像不是进入中断模式,就是tim1定时器计数更新中断个数来达到定时的目的,我不知道这样说对不对 ...

tim1计数中断就是更新中断
你可以用tim1的任意一个通道输出PWM,然后在别的定时器中断里面定时改变你的TIM1的PWM频率或者占空比
 楼主| sang523 发表于 2016-10-13 13:50 | 显示全部楼层
皈依 发表于 2016-10-13 13:47
tim1计数中断就是更新中断
你可以用tim1的任意一个通道输出PWM,然后在别的定时器中断里面定时改变你的TI ...

其他定时器都占了,stm8s103一共就三个定时器。。
wahahaheihei 发表于 2016-10-13 14:03 | 显示全部楼层
sang523 发表于 2016-10-13 11:32
刚刚接触,小白一个,什么叫扫描定时器。

就是在主函数里一直读取定时器里的变量,
比如定时器里有个变量k,
我们县读取出来,然后一直判断是否达到另外一个值,如果到了,就是延时到时候了。
 楼主| sang523 发表于 2016-10-13 14:12 | 显示全部楼层
wahahaheihei 发表于 2016-10-13 14:03
就是在主函数里一直读取定时器里的变量,
比如定时器里有个变量k,
我们县读取出来,然后一直判断是否达到 ...

是不是指的我用的中断函数里的那个中断次数
皈依 发表于 2016-10-13 14:17 | 显示全部楼层
sang523 发表于 2016-10-13 13:50
其他定时器都占了,stm8s103一共就三个定时器。。

占了没关系啊 你在其他的定时器中断里一起操作就可以了
 楼主| sang523 发表于 2016-10-13 14:18 | 显示全部楼层
皈依 发表于 2016-10-13 14:17
占了没关系啊 你在其他的定时器中断里一起操作就可以了

大神方便看下我写的tim1中断定时程序吗,硬件测试进不去中断
wahahaheihei 发表于 2016-10-13 15:07 | 显示全部楼层
sang523 发表于 2016-10-13 14:12
是不是指的我用的中断函数里的那个中断次数

对头。就是这样,中断里有个计数的变量。
 楼主| sang523 发表于 2016-10-13 15:23 | 显示全部楼层
wahahaheihei 发表于 2016-10-13 15:07
对头。就是这样,中断里有个计数的变量。

现在呢我用tim1输出一个固定频率的方波,要求是单片机启动一段时间后方波功率降低,这个时间我一开始想的是用delay,delay1ms();PWMOFF();但是不起作用,现在又用其中断定时来实现。
皈依 发表于 2016-10-13 15:39 | 显示全部楼层
sang523 发表于 2016-10-13 14:18
大神方便看下我写的tim1中断定时程序吗,硬件测试进不去中断

我不是大神。。因为你tim1输出PWM了 所以定时器中断功能被覆盖了吧?
你i看看PWM的初始化是不是在中断初始化之后
 楼主| sang523 发表于 2016-10-13 15:45 | 显示全部楼层
皈依 发表于 2016-10-13 15:39
我不是大神。。因为你tim1输出PWM了 所以定时器中断功能被覆盖了吧?
你i看看PWM的初始化是不是在中断初 ...

中断初始化是什么,中断服务函数吗?
皈依 发表于 2016-10-13 16:07 | 显示全部楼层
sang523 发表于 2016-10-13 15:45
中断初始化是什么,中断服务函数吗?

你在用外设的功能之前要对外设进行初始化 包括中断 如果要使用中断的话也要先初始化
 楼主| sang523 发表于 2016-10-13 16:12 | 显示全部楼层
皈依 发表于 2016-10-13 16:07
你在用外设的功能之前要对外设进行初始化 包括中断 如果要使用中断的话也要先初始化 ...

一般中断怎么初始化,搜了网上没看到相关的,中断不是定时器计数产生的吗,原谅我小白。。
皈依 发表于 2016-10-13 16:46 | 显示全部楼层
sang523 发表于 2016-10-13 16:12
一般中断怎么初始化,搜了网上没看到相关的,中断不是定时器计数产生的吗,原谅我小白。。 ...

没事 都是这么过来的 如果时间不紧的话建议你可以找个开发板学习学习
或者去百度一些资料,stm8还是很简单的 这些东西百度都找得到
 楼主| sang523 发表于 2016-10-13 16:52 | 显示全部楼层
皈依 发表于 2016-10-13 16:46
没事 都是这么过来的 如果时间不紧的话建议你可以找个开发板学习学习
或者去百度一些资料,stm8还是很简 ...

可否稍微说一下中断初始化要点,我也好去百度,谢谢了
皈依 发表于 2016-10-13 16:55 | 显示全部楼层
sang523 发表于 2016-10-13 16:52
可否稍微说一下中断初始化要点,我也好去百度,谢谢了

直接百度stm8定时器中断,源码都找得到。
 楼主| sang523 发表于 2016-10-13 17:00 | 显示全部楼层
皈依 发表于 2016-10-13 16:55
直接百度stm8定时器中断,源码都找得到。

还有比如说tim1输出PWM,我要求其启动后一段时间停止,我用的delay,delay1ms();PWMOFF();(延时子程序已定义)为啥不管用?
wahahaheihei 发表于 2016-10-13 17:04 | 显示全部楼层
楼主把全部代码贴出来吧,这么描述太费劲了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部