发新帖本帖赏金 1.50元(功能说明)我要提问
返回列表
打印
[STM8]

小白求助

[复制链接]
楼主: sang523
手机看帖
扫描二维码
随时随地手机跟帖
21
sang523|  楼主 | 2016-10-13 11:31 | 只看该作者 回帖奖励 |倒序浏览
皈依 发表于 2016-10-13 11:30
换个定时器把 tim作为PWM输出之后再设置为中断模式的话PWM功能会被覆盖

怎么我看他们说这两个功能可以一起用啊

使用特权

评论回复
22
sang523|  楼主 | 2016-10-13 11:32 | 只看该作者
wahahaheihei 发表于 2016-10-13 10:35
如果你delay里面是一直在扫描定时器,那么delay完毕后,你再关闭也可以。

刚刚接触,小白一个,什么叫扫描定时器。

使用特权

评论回复
23
sang523|  楼主 | 2016-10-13 11:36 | 只看该作者
皈依 发表于 2016-10-13 11:30
换个定时器把 tim作为PWM输出之后再设置为中断模式的话PWM功能会被覆盖

好像不是进入中断模式,就是tim1定时器计数更新中断个数来达到定时的目的,我不知道这样说对不对

使用特权

评论回复
24
皈依| | 2016-10-13 13:47 | 只看该作者
sang523 发表于 2016-10-13 11:36
好像不是进入中断模式,就是tim1定时器计数更新中断个数来达到定时的目的,我不知道这样说对不对 ...

tim1计数中断就是更新中断
你可以用tim1的任意一个通道输出PWM,然后在别的定时器中断里面定时改变你的TIM1的PWM频率或者占空比

使用特权

评论回复
25
sang523|  楼主 | 2016-10-13 13:50 | 只看该作者
皈依 发表于 2016-10-13 13:47
tim1计数中断就是更新中断
你可以用tim1的任意一个通道输出PWM,然后在别的定时器中断里面定时改变你的TI ...

其他定时器都占了,stm8s103一共就三个定时器。。

使用特权

评论回复
26
wahahaheihei| | 2016-10-13 14:03 | 只看该作者
sang523 发表于 2016-10-13 11:32
刚刚接触,小白一个,什么叫扫描定时器。

就是在主函数里一直读取定时器里的变量,
比如定时器里有个变量k,
我们县读取出来,然后一直判断是否达到另外一个值,如果到了,就是延时到时候了。

使用特权

评论回复
27
sang523|  楼主 | 2016-10-13 14:12 | 只看该作者
wahahaheihei 发表于 2016-10-13 14:03
就是在主函数里一直读取定时器里的变量,
比如定时器里有个变量k,
我们县读取出来,然后一直判断是否达到 ...

是不是指的我用的中断函数里的那个中断次数

使用特权

评论回复
28
皈依| | 2016-10-13 14:17 | 只看该作者
sang523 发表于 2016-10-13 13:50
其他定时器都占了,stm8s103一共就三个定时器。。

占了没关系啊 你在其他的定时器中断里一起操作就可以了

使用特权

评论回复
29
sang523|  楼主 | 2016-10-13 14:18 | 只看该作者
皈依 发表于 2016-10-13 14:17
占了没关系啊 你在其他的定时器中断里一起操作就可以了

大神方便看下我写的tim1中断定时程序吗,硬件测试进不去中断

使用特权

评论回复
30
wahahaheihei| | 2016-10-13 15:07 | 只看该作者
sang523 发表于 2016-10-13 14:12
是不是指的我用的中断函数里的那个中断次数

对头。就是这样,中断里有个计数的变量。

使用特权

评论回复
31
sang523|  楼主 | 2016-10-13 15:23 | 只看该作者
wahahaheihei 发表于 2016-10-13 15:07
对头。就是这样,中断里有个计数的变量。

现在呢我用tim1输出一个固定频率的方波,要求是单片机启动一段时间后方波功率降低,这个时间我一开始想的是用delay,delay1ms();PWMOFF();但是不起作用,现在又用其中断定时来实现。

使用特权

评论回复
32
皈依| | 2016-10-13 15:39 | 只看该作者
sang523 发表于 2016-10-13 14:18
大神方便看下我写的tim1中断定时程序吗,硬件测试进不去中断

我不是大神。。因为你tim1输出PWM了 所以定时器中断功能被覆盖了吧?
你i看看PWM的初始化是不是在中断初始化之后

使用特权

评论回复
33
sang523|  楼主 | 2016-10-13 15:45 | 只看该作者
皈依 发表于 2016-10-13 15:39
我不是大神。。因为你tim1输出PWM了 所以定时器中断功能被覆盖了吧?
你i看看PWM的初始化是不是在中断初 ...

中断初始化是什么,中断服务函数吗?

使用特权

评论回复
34
皈依| | 2016-10-13 16:07 | 只看该作者
sang523 发表于 2016-10-13 15:45
中断初始化是什么,中断服务函数吗?

你在用外设的功能之前要对外设进行初始化 包括中断 如果要使用中断的话也要先初始化

使用特权

评论回复
35
sang523|  楼主 | 2016-10-13 16:12 | 只看该作者
皈依 发表于 2016-10-13 16:07
你在用外设的功能之前要对外设进行初始化 包括中断 如果要使用中断的话也要先初始化 ...

一般中断怎么初始化,搜了网上没看到相关的,中断不是定时器计数产生的吗,原谅我小白。。

使用特权

评论回复
36
皈依| | 2016-10-13 16:46 | 只看该作者
sang523 发表于 2016-10-13 16:12
一般中断怎么初始化,搜了网上没看到相关的,中断不是定时器计数产生的吗,原谅我小白。。 ...

没事 都是这么过来的 如果时间不紧的话建议你可以找个开发板学习学习
或者去百度一些资料,stm8还是很简单的 这些东西百度都找得到

使用特权

评论回复
37
sang523|  楼主 | 2016-10-13 16:52 | 只看该作者
皈依 发表于 2016-10-13 16:46
没事 都是这么过来的 如果时间不紧的话建议你可以找个开发板学习学习
或者去百度一些资料,stm8还是很简 ...

可否稍微说一下中断初始化要点,我也好去百度,谢谢了

使用特权

评论回复
38
皈依| | 2016-10-13 16:55 | 只看该作者
sang523 发表于 2016-10-13 16:52
可否稍微说一下中断初始化要点,我也好去百度,谢谢了

直接百度stm8定时器中断,源码都找得到。

使用特权

评论回复
39
sang523|  楼主 | 2016-10-13 17:00 | 只看该作者
皈依 发表于 2016-10-13 16:55
直接百度stm8定时器中断,源码都找得到。

还有比如说tim1输出PWM,我要求其启动后一段时间停止,我用的delay,delay1ms();PWMOFF();(延时子程序已定义)为啥不管用?

使用特权

评论回复
40
wahahaheihei| | 2016-10-13 17:04 | 只看该作者
楼主把全部代码贴出来吧,这么描述太费劲了。

使用特权

评论回复
发新帖 本帖赏金 1.50元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则