打印
[STM32F4]

遥控解码~第一次弄,跪求指导!

[复制链接]
1996|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
逍遥暮色|  楼主 | 2015-4-7 22:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 逍遥暮色 于 2015-4-8 12:58 编辑

怎么用STM32F407通过DMA实现遥控器的解码啊?第一次弄这个,好多地方都不明白,请大家帮帮忙!还有就是解码后的数据怎么用啊?下面是解码代码:
void DMA1_Stream5_IRQHandler(void)
{
if(DMA_GetITStatus(DMA1_Stream5, DMA_IT_TCIF5))
{
DMA_ClearFlag(DMA1_Stream5, DMA_FLAG_TCIF5);
DMA_ClearITPendingBit(DMA1_Stream5, DMA_IT_TCIF5);
RC_Ctl.rc.ch0 = (sbus_rx_buffer[0]| (sbus_rx_buffer[1] << 8)) & 0x07ff; //!< Channel 0
RC_Ctl.rc.ch1 = ((sbus_rx_buffer[1] >> 3) | (sbus_rx_buffer[2] << 5)) & 0x07ff; //!< Channel 1
RC_Ctl.rc.ch2 = ((sbus_rx_buffer[2] >> 6) | (sbus_rx_buffer[3] << 2) | //!< Channel 2
(sbus_rx_buffer[4] << 10)) & 0x07ff;
RC_Ctl.rc.ch3 = ((sbus_rx_buffer[4] >> 1) | (sbus_rx_buffer[5] << 7)) & 0x07ff; //!< Channel 3
RC_Ctl.rc.s1 = ((sbus_rx_buffer[5] >> 4)& 0x000C) >> 2; //!< Switch left
RC_Ctl.rc.s2 = ((sbus_rx_buffer[5] >> 4)& 0x0003); //!< Switch right
9 / 9
RC_Ctl.mouse.x = sbus_rx_buffer[6] | (sbus_rx_buffer[7] << 8); //!< Mouse X axis
RC_Ctl.mouse.y = sbus_rx_buffer[8] | (sbus_rx_buffer[9] << 8); //!< Mouse Y axis
RC_Ctl.mouse.z = sbus_rx_buffer[10] | (sbus_rx_buffer[11] << 8); //!< Mouse Z axis
RC_Ctl.mouse.press_l = sbus_rx_buffer[12]; //!< Mouse Left Is Press ?
RC_Ctl.mouse.press_r = sbus_rx_buffer[13]; //!< Mouse Right Is Press ?
RC_Ctl.key.v = sbus_rx_buffer[14] | (sbus_rx_buffer[15] << 8); //!< KeyBoard value
}
沙发
amanda_s| | 2015-4-15 13:50 | 只看该作者
DMA是做数据传输,怎么解码?
你的问题是不知道怎么用DMA,还是不知道怎么解码?
解码是指对什么的解码?

使用特权

评论回复
板凳
逍遥暮色|  楼主 | 2015-4-19 17:06 | 只看该作者
谢谢啦!已经解决掉这个问题了。但是新的问题又来了,我想通过鼠标的左右平移和上下平移(也就是说x和Y轴的运动)来控制云台电机的转动,鼠标动多少云台跟着动多少,不知道该怎么解决这个问题。您能给我点意见吗?

使用特权

评论回复
地板
逍遥暮色|  楼主 | 2015-4-19 17:07 | 只看该作者
amanda_s 发表于 2015-4-15 13:50
DMA是做数据传输,怎么解码?
你的问题是不知道怎么用DMA,还是不知道怎么解码?
解码是指对什么的解码? ...


谢谢啦!已经解决掉这个问题了。但是新的问题又来了,我想通过鼠标的左右平移和上下平移(也就是说x和Y轴的运动)来控制云台电机的转动,鼠标动多少云台跟着动多少,不知道该怎么解决这个问题。您能给我点意见吗?

使用特权

评论回复
5
冰心_2015| | 2015-5-14 18:28 | 只看该作者
逍遥暮色 发表于 2015-4-19 17:06
谢谢啦!已经解决掉这个问题了。但是新的问题又来了,我想通过鼠标的左右平移和上下平移(也就是说x和Y轴的 ...

你怎么调的

使用特权

评论回复
6
Tony1996| | 2016-1-19 18:16 | 只看该作者
楼主,求助,怎么用DMA传输,现在DR16的数据流改成ADC值,但反应忽快忽慢,想用DMA来加速

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

29

帖子

1

粉丝