OpenEdv-开源电子网

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

请问各位前辈LPC这段移植到STM里该怎么写

[复制链接]

3

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2018-10-26
在线时间
58 小时
发表于 2019-5-2 13:28:46 | 显示全部楼层 |阅读模式
3金钱

搞了一个多星期没办法,只能来求助下各位前辈,LPC1768 => STM32F103VET6
[mw_shl_code=c,true]
fx  = 0;
P = 0;
mc = 1;
LPC_GPIO0->FIODIR = fx;
LPC_GPIO0->FIOCLR = fx;
LPC_GPIO2->FIOSET=mc;
LPC_GPIO2->FIODIR=mc+P;
LPC_GPIO2->FIOCLR=mc+P;
[/mw_shl_code]

这几句主要是切换高低电平来产生脉冲驱动步进电机,代码位于Time0定时内,定时器设置为

[mw_shl_code=cpp,true]
void timer0Init (unsigned int fp){
    LPC_TIM0->TCR  = 0x02;
    LPC_TIM0->IR   = 1;
    LPC_TIM0->CTCR = 0;
    LPC_TIM0->TC   = 0;
    LPC_TIM0->R   = 0;
    // SystemFrequency = 4000000
    LPC_TIM0->MR0  =SystemFrequency /(4*fp);
    LPC_TIM0->MCR  = 0x03;
    LPC_TIM0->TCR  = 0x01;                                             
}
[/mw_shl_code]
调用 timer0Init(250000);
默认systeminit ,这个应该是 1us的定时中断时间吗,我在STM32里设置的是1us,刚入门,不太懂LPC的定时器算法,还请前辈指点一下

我的解决办法如下

[mw_shl_code=cpp,true]
GPIOD->BRR        =        0xff;
GPIOD->BSRR        =fx;
GPIOA->BRR        =        0xff;
GPIOA->BSRR        =        mc;
GPIOA->BRR |=        mc+P;
GPIOA->BSRR        =        mc+P;
[/mw_shl_code]

但是实验结果是步进电机堵转,产生卡顿.不明白为什么,还请各位前辈指教


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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-5-4 01:04:30 | 显示全部楼层
看我们STM32的对应例程,然后再改。
回复

使用道具 举报

3

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2018-10-26
在线时间
58 小时
 楼主| 发表于 2019-5-4 17:33:13 | 显示全部楼层
正点原子 发表于 2019-5-4 01:04
看我们STM32的对应例程,然后再改。

原子哥,我这个是根据您的虚拟串口例程改的,收数据的时候电机就卡,不收就挺好,这个有啥DMA类的可以解决吗,轮询模式
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-5-5 01:40:25 | 显示全部楼层
rcfans 发表于 2019-5-4 17:33
原子哥,我这个是根据您的虚拟串口例程改的,收数据的时候电机就卡,不收就挺好,这个有啥DMA类的可以解 ...

你的波特率多高?
很频繁的发数据么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2018-10-26
在线时间
58 小时
 楼主| 发表于 2019-5-6 01:21:49 | 显示全部楼层
正点原子 发表于 2019-5-5 01:40
你的波特率多高?
很频繁的发数据么?

用的VCP,应该跟波特率没啥关系吧,波特率选的115200,数据基本是100毫秒一条,一发就卡顿,一停就好
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 18:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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