完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32功能很强大,直接可以利用定时器这个功效完成,因为72M计数很快
|
|
|
|
对,用定时器的PWM输出.
|
|
|
|
能不能简单些?好像单片机的汇编那样。是需要串行送些数据。是嵌一段汇编进去吗?可以详细举举例子吗?
|
|
|
|
PWM够简单了吧...
|
|
|
|
你好。
再请问一下。 我的信号是要这样:根据标志位输出相关波形,如标志位为1就PA7脚输出高电平1uS然后低电平0.5uS。标志位为0就PA7脚输出高电平0.5uS然后低电平1uS。 有很多个标志位,需要连续输出相关波形。波形之间要求比较精准,误差不能超过0.1uS。 那判断了第一个标志位并输出了第一个波形后,怎么知道第一个波形已经输出完了,然后输出第二个呢? 谢谢。 |
|
|
|
你这个属于单个波形了,PWM貌似不是很适合,直接用定时器的延时吧,或者研究下定时器的单脉冲模式..
|
|
|
|
Hi, 你好。
我用下面的代码还是不行啊。我这里没有数字存储示波器,不能抓波形来看。只能用软件模拟的方式观察波形,而软件看到的波形的读数去不到纳秒级。我观察0码的长度比例为(我用尺子量) 1:1.7 而1码的长度比例为 1.5:1.178 。偏差太大了吧? 问题出在哪里呢?该怎样改呢? 谢谢。 void send_dat(void) { u8 i,j,t; RCC->APB1ENR|=1<<1; //TIM3时钟使能 TIM3->SC=0; TIM3->DIER|=1<<0; TIM3->CR1|=1<<3; //单脉冲模式 for (i=0;i t=buf; for (j=0;j<8;j++) { if (t&0x80) { DAT0=1; TIM3->ARR=72; //1uS的定时器 TIM3->CR1|=1<<0; while (!(TIM3->SR&1)) ; TIM3->SR&=~1; DAT0=0; TIM3->ARR=36; //0.5uS的定时器 TIM3->CR1|=1<<0; while (!(TIM3->SR&1)) ; TIM3->SR&=~1; } else { DAT0=1; TIM3->ARR=36; //0.5uS的定时器 TIM3->CR1|=1<<0; while (!(TIM3->SR&1)) ; TIM3->SR&=~1; DAT0=0; TIM3->ARR=72; //1uS的定时器 TIM3->CR1|=1<<0; while (!(TIM3->SR&1)) ; TIM3->SR&=~1; } t<<=1; } } } |
|
|
|
这个只能慢慢调了.
|
|
|
|
你觉得这些代码有没有问题呢?怎么码宽的比例差那么多的?
|
|
|
|
|
|
|
|
|
|
|
|
建议 你参考我们delay_us的写法,写一个delay_ns的函数.呵呵.72M的频率直接作为定时器的计数时钟,然后,实现一个delay_ns的函数.
|
|
|
|
STM32不适合做这种指令周期级别的时间等待,除非把FLASH预取指关了。而且M3有分支预测,代码执行时间和循环次数不成线性关系。
|
|
|
|
原子啊,上面那个定时器单步执行,你看出有问题吗?
pwm的单步设置又怎做?我搞了下不行。我用pwm送完一个周期的信号后,怎么送下一个周期的?(我怎么判断第一个周期结束了?是判断TIM3->SR&1 吗?) 谢谢。 |
|
|
|
没看呢...
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1935浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
728浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
567浏览 3评论
593浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
551浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 12:30 , Processed in 1.429576 second(s), Total 107, Slave 90 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号