标题:
stm32向串口发送 字符 输出对应占空比的PWM波
[打印本页]
作者:
823090373
时间:
2017-7-24 09:41
标题:
stm32向串口发送 字符 输出对应占空比的PWM波
学习串口中断 和PWM波的简单实验
向串口发送 字符 输出对应占空比的PWM波
单片机源程序如下:
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "exti.h"
#include "beep.h"
#include "timer.h"
/************************************************
点亮DS2
向串口一发送0-100三个字符
TIM2 CH4 PA3口 输出对应占空比
************************************************/
int main(void)
{
int x;
u16 t;
u16 len;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
LED_Init(); //LED灯初始化
TIM2_PWM_Init(99,71);// 频率10Khz 周期100us
LED1=0; //点亮DS1
while(1)
{
if(USART_RX_STA&0x8000)//不懂
{
len=USART_RX_STA&0x3fff;//不懂
for(t=0;t<len;t++)
{
USART_SendData(USART1, USART_RX_BUF[t]);//向串口1发送数据
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
}
x=((USART_RX_BUF[0]-48)*100+(USART_RX_BUF[1]-48)*10+((USART_RX_BUF[2])-48)*1);// 把串口接受到的ASC码转换成十进制数
printf("\r\n%d\n",x);//用串口1输出X的值 当向串口1发送的为三位字符时X才正确
USART_RX_STA=0;
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
串口输出对应占空比PWM.rar
(297.7 KB, 下载次数: 69)
2017-7-24 16:19 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
喵星人
时间:
2017-12-4 16:24
这个能用于4路输出吗
作者:
wjx900
时间:
2018-11-22 09:17
学习了,谢谢!
作者:
zheng2min
时间:
2018-11-22 12:16
好东西,学习了。
作者:
nihaobu
时间:
2019-11-26 11:25
看看,学习下。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1