通过仔细看stm8参考手册里有关pwm这一节,我们可以根据手册上的讲解,很容易配置出来一个pwm通道。
具体讲解下,首先看参考手册17.5.7 pwm模式这一节,这一节是针对TIM1定时器来实现的pwm:
通过看这些内容,我们知道如下信息:
1:设置TIM1_ARR寄存器设定频率,TIM1_CCR1确定占空比;
至于为何通过TIM1_ARR来设定寄存器频率,可以参考如下图:
看完上图就知道这个计数器的频率公式为:
F = 时钟频率/(预装载计数+1)
2:TIM1_CCMR1寄存器的OC1M位写入110或者111来确定PWM模式1或者2,而且,必须设置TIM1_CCMR1寄存器的OC1PE位使能预装载寄存器,也可以设置TIM1_CR1寄存器的ARPE位使能自动重装预装载寄存器;
3:必须通过设置TIM1_EGR寄存器的UG位来初始化寄存器。
知道如上信息后,我们针对TIM1的通道3设置为pwm,占空比位50%,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #include #ifndef BIT #define BIT(n) (1<<(n)) #endif void pwm320k(void) { TIM1_CR1 &= ~BIT(0); //关闭TIM1 // TIM1_PSCRH = 0; TIM1_PSCRL = 0; //不分频16MHz // TIM1_ARRH = 0; TIM1_ARRL = 49; //16MHz/(49+1) = 320KHz // TIM1_CR1 |= BIT(7); //使能ARP TIM1_EGR |= BIT(0); //更新TIM1,使PSC有效 // TIM1_CCR3H = 0; TIM1_CCR3L = 25; //占空比50% // TIM1_CCMR3 = 104; //配置TIM1_CH3为PWM1模式输出 // TIM1_CCER2 |= BIT(0); //使能TIM1_CH3通道 // TIM1_CR1 |= BIT(0); //使能TIM1 TIM1_BKR |= BIT(7); //禁止刹车 } //***********端口配置******************/ void IO_Config(void) { //接收端led定义 PC_DDR |= 0X08; //设置PA3端口为输出模式 PC_CR1 |= 0X08; //设置PA3端口为推挽输出模式 } /***********************************/ void main() { IO_Config(); while (1) { pwm320k(); } } |
上一篇:STM8S103 IO口控制
下一篇:STM8使用TIM1测量PWM波
推荐阅读
史海拾趣
Geyer Electronic E.K.公司的发展故事
故事一:创立与初步发展
Geyer Electronic E.K.公司由Rudolf Geyer于1964年创立,最初是一家位于慕尼黑莱姆区的电子产品零售店。在那个年代,电子产品行业正处于快速发展阶段,Geyer凭借其敏锐的市场洞察力和对技术的热情,逐渐在市场中站稳了脚跟。起初,店铺销售各类电子产品,从简单的收音机到复杂的电子设备,一应俱全。随着时间的推移,Geyer Electronic凭借其优质的服务和丰富的产品线,逐渐赢得了当地消费者的信任和支持。
故事二:转型与专业化
1992年,Geyer Electronic经历了一次重要的转折点。在Jürgen Reichmann的领导下,公司被收购并进行了战略调整,正式转型为一家专门从事频率产品和特殊电池的公司。这一转型标志着Geyer Electronic开始专注于某一特定领域,并致力于在该领域成为行业的领导者。公司投入大量资源进行技术研发和产品创新,不断推出符合市场需求的高质量频率产品和特殊电池,逐渐在行业内树立了良好的口碑。
故事三:全球化布局
随着业务的不断扩展,Geyer Electronic开始将目光投向全球市场。公司不仅在欧洲建立了稳固的市场地位,还逐渐将业务拓展到亚洲和美国等其他地区。为了实现全球化战略,Geyer Electronic加强了与全球合作伙伴的合作与交流,共同推动频率产品和特殊电池技术的创新与发展。同时,公司还建立了完善的全球销售网络,确保产品能够在短时间内送达全球各地的客户手中。
故事四:认证与品质保证
为了进一步提升产品质量和客户满意度,Geyer Electronic积极寻求国际认证。公司通过了DIN ISO 9001:2015等国际质量管理体系认证,这标志着Geyer Electronic在质量管理方面已经达到了国际先进水平。通过严格的质量控制和持续的技术创新,Geyer Electronic不断推出高品质的频率产品和特殊电池,赢得了全球客户的广泛认可和信赖。
故事五:搬迁与未来发展
为了满足未来发展的需要,Geyer Electronic于2022年搬到了位于Planegg的新公司所在地。这次搬迁不仅为公司提供了更加宽敞和现代化的办公和生产环境,还为公司未来的发展奠定了坚实的基础。在新的起点上,Geyer Electronic将继续秉承“质量第一、客户至上”的经营理念,不断推动技术创新和产品升级,为全球客户提供更加优质、高效的服务和解决方案。同时,公司还将积极探索新的市场领域和发展机遇,努力成为全球电子行业中的佼佼者。
随着时间的推移,Comus International的产品逐渐从最初的恒温器开关拓展到更广泛的领域。如今,公司的产品已经广泛应用于医疗、汽车、白色家电、警报和安全以及军事/航空航天等多个领域。这种多元化的应用领域不仅增加了公司的收入来源,也提高了公司的市场影响力。
在电子行业的发展过程中,环保问题日益受到关注。Conexcon Group积极响应国家环保政策,将绿色环保理念贯穿于产品研发、生产和销售的全过程。公司采用了环保材料和工艺,减少了对环境的污染和破坏。同时,公司还加强了废旧电子产品的回收和处理工作,推动了电子行业的可持续发展。这些举措不仅赢得了消费者的认可和支持,也为公司树立了良好的社会形象。
DLK公司一直将技术创新作为企业发展的核心驱动力。公司拥有一支高素质的研发团队,不断投入大量资金进行技术研发和产品创新。通过引进先进的生产设备和技术,结合自主研发,DLK公司成功开发出了一系列具有自主知识产权的连接器产品。这些产品不仅具有更高的性能和更稳定的品质,而且能够满足不同客户的个性化需求。技术创新使DLK公司在激烈的市场竞争中保持了领先地位。
2020年,Cypress迎来了其发展历程中的一个重要时刻——与德国半导体巨头英飞凌(Infineon)的合并。这次合并使Cypress成为英飞凌的一部分,双方在技术、市场和资源等方面实现了互补和整合。这次合并不仅增强了Cypress在全球半导体市场的竞争力,也为其未来的发展提供了更广阔的空间。
以上故事均基于Cypress Semiconductor(赛普拉斯半导体)的发展历史而创作,旨在客观描述公司在电子行业中的发展历程和成就。
为了更好地服务全球客户,Cypress积极实施海外扩张和本土化战略。公司在菲律宾、印尼等地设立了组装和检测工厂,同时在美国、欧洲和亚洲等多个国家和地区设立了设计中心。这种本土化战略使Cypress能够更好地了解当地市场需求,提供定制化的产品和解决方案。
日本三菱公司的M57959L集成IGBT专用驱动芯片它可以作为600V/200A或者1200V/100A的IGBT驱动.其最高频率也达40KHz,采用双电源供电(+15V和-15V)输出电流峰值为±2A,M57959L有以下特点: (1) 采用光耦实现电器隔离,光耦是快速型的,适合20KHz左右的高频 ...… 查看全部问答∨ |
|
WINCE60下怎么通过模拟器(没有实际的环境,只能玩玩模拟器了)调试一般的流接口驱动?调试消息怎么输出到串口?怎么看调试消息?重新映射串口没效果! WINCE60下怎么通过模拟器(没有实际的环境,只能玩玩模拟器了)调试一般的流接口驱动?调试消息怎么输出到串口?怎么看调试消息?重新映射串口没效果!… 查看全部问答∨ |
我用一个自己做的手持设备与路由器相连,采用PPP协议。目的是用PPP协议与路由器相连,发送PING包给路由器,并接收路由器回应的包。PPP链路已经建立,但设备去PING路由器后无法收到回应(确定路由器已经收到了包),而路由器去PING设备,设备也无法 ...… 查看全部问答∨ |
我在做信号发生器时,一个周期取了256个点。然后通过调节TH0,TL0来调节频率。请问如果我设置初值为50HZ,要求输出频率为1~1000HZ之间,应该怎么设置TH0,TL0初值,怎么计算出频率值,怎么通过增加TH0,TL0或减小TH0,TL0来增大或减小频率能让频率在1~1 ...… 查看全部问答∨ |
|
以前应用MSP430比较少一些,只是拿过MSP430F149练过手,知道MSP430的功耗很低,性能也很优越,最近公司里准备做一个手持的检测设备。感觉MSP430在功耗方面还是有很大的优势的。 看到了EEWORLD与TI联合搞活动,我在网上在网上搜了一下,大体的看了 ...… 查看全部问答∨ |
LPC1769 无法电池供电 怎么解决啊???各位 高手,,LPC1769 无法电池供电 怎么解决啊???之前 一直 用USB 供电,,现在 用电池 供电,没反应,,怎么办啊???… 查看全部问答∨ |