OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7032|回复: 4

搞不明白了,PWM一旦接外负载就断开串口通信

[复制链接]

1

主题

3

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2013-1-2
在线时间
0 小时
发表于 2013-1-3 13:38:16 | 显示全部楼层 |阅读模式
用的STM32F103C8T6
在做蓝牙串口控制PWM输出然后以此控制电机,在测试中,正常蓝牙通讯控制TIM1_CCR1调节占空比没有问题,但是一旦将PA8引脚接上对应的电机驱动端,串口通信立刻broken pipe或者connection reset by peer,只要不接此线路,无论怎么通信都保持正常。

这……有可能是我哪里物理连接上的问题吗

void PWM_Init(unsigned int arr,unsigned int psc)
{
RCC_APB2ENR|=1<<11;       //TIM1时钟使能         
GPIOA_CRH&=0XFFFFFFF0;//PA8输出
GPIOA_CRH|=0X0000000B;//复用输出  
GPIOA_ODR|=1<<8;//PA8上拉
TIM1_ARR=arr;//设定计数器自动重装值 
TIM1_PSC=psc;//预分频器不分频
TIM1_CCMR1|=6<<4;  //CH1 PWM2模式  
TIM1_CCMR1|=1<<3;  //CH1预装载使能
TIM1_CR1|=1<<7;   //ARPE使能自动重装载预装载允许位
TIM1_CR1|=1<<4;   //向下计数模式   
TIM1_CCER|= 3 << 0; //OC1 输出使能     
    TIM1_BDTR |= 1<<15;//MOE使能
TIM1_CCR1 = 99; //zkb
TIM1_EGR |= 1<<0;
TIM1_CR1|=0x01;    //使能定时器1   
}

int main()
{
    char r;

    r = 0;
    RCC_HSE_ON();
RCC_APB2ENR=0xFFFFFFFF;
PWM_Init(99,7199);
GPIOB_Init();
USART1_Init();
  while(1)
  {
   //初始循环
    GPIOB_ODR &= 0xFFFFFFF0;
//串口接收处理
//GPIOB_ODR |= 0x1;//PB0 LED 进入接受状态
r = USART1_Receive_Byte();
//USART1_Send_Byte(0x33);//确实已接受到信号,返回
switch(r)
{
case 0x0:
//测试运转1
TIM1_CCR1 = 20;GPIOB_ODR |= 0x1;
break;

default:
//设计范围外,不响应
TIM1_CCR1 = 99;
break;
}
Delay_Ms(100);
  }
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-1-3 15:09:11 | 显示全部楼层
回复【楼主位】gate120:
---------------------------------
检查电源正常不。
3.3V,你接了电机还是3.3V 么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2013-1-2
在线时间
0 小时
 楼主| 发表于 2013-1-3 15:45:01 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
怀疑电源电压有问题,经过几次测试结论是只要电机在运转中,蓝牙模块就无法被识别,但是如果外接另一电源给蓝牙模块则正常,应该是接上电机后不够3.3V
我把电池换成9V的接驱动模块试试
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2013-1-2
在线时间
0 小时
 楼主| 发表于 2013-1-3 18:24:47 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
感谢原子哥,万用表测得电机带动前蓝牙模块电压本就不到3.3,仅有2.3V,电机启动后降到2V以下,更换较好电池后恢复到3.3V,问题解决
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-1-3 18:30:53 | 显示全部楼层
不客气,解决了就好。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-20 04:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表