历史上的今天
返回首页

历史上的今天

今天是:2024年09月05日(星期四)

正在发生

2018年09月05日 | stm32串口的DMA接收

2018-09-05 来源:eefocus

UART5不支持DMA

不同的外设需要使用不同的DMA


UART4需要使用DMA2的通道3或者5

例如:
void DMA1_Channel5_IRQHandler(void)
{
u16 i,j=0;
OS_ENTER_CRITICAL(); /* Tell uC/OS-II that we are starting an ISR  */
    OSIntNesting++;
    OS_EXIT_CRITICAL();
if(DMA_GetITStatus(DMA1_IT_TC5)!= RESET)
{
DMA_ClearITPendingBit(DMA1_IT_GL5); //清除全部中断标志
DMA_ClearITPendingBit(DMA1_IT_TC5);
DMA_ClearFlag(DMA1_FLAG_TC5);
/*每个距离测试数据包有3 个字节(依次标号为A,B,C),前面2 个字节高位为0,
最后一个字节高位为1,标示此数据包的结束*/
memcpy(Uart_Rx_Backup,Uart_Rx,UART_RX_LEN);
if((Uart_Rx_Backup[0]&0x80) != 0)//
j=1;
else if((Uart_Rx_Backup[1]&0x80) != 0)//
j=2;
else if((Uart_Rx_Backup[2]&0x80) != 0)//
j=0;

for(i=0;i<50;i++)
{
RecorderData_FileWrite[i]=DecodeLaseData3Byte(Uart_Rx_Backup+i*3+j);
}
}
else if(DMA_GetITStatus(DMA1_IT_HT5) == SET)
    {
        DMA_ClearITPendingBit(DMA1_IT_HT5);
        DMA_ClearITPendingBit(DMA1_IT_GL5);                                
    }
OSIntExit(); 
}


推荐阅读

史海拾趣

Eutech公司的发展小趣事

EUtech公司注重品牌塑造和市场拓展。他们通过参加国际展会、举办技术研讨会等方式提高品牌知名度。同时,公司积极拓展海外市场,产品已出口到新加坡、香港、韩国等国家和地区。凭借优异的产品质量和良好的市场口碑,EUtech公司逐渐在国际市场上树立起了品牌形象。

對餘科技(DIOFIT)公司的发展小趣事

在追求经济效益的同时,DIOFIT公司也积极履行社会责任,致力于环保事业。他们注重节能减排和资源循环利用,采用环保材料和生产工艺,降低产品对环境的污染。同时,DIOFIT公司还积极参与各类公益活动,为社会发展和环境保护贡献自己的力量。

Aeroflex公司的发展小趣事

DIOFIT公司自创立之初,便面临着激烈的市场竞争和技术挑战。创始人团队凭借对电子技术的深入理解和热情,决心打造一家专注于高端电子产品研发和生产的企业。在资金紧张、人才匮乏的情况下,他们坚持自主研发,不断优化产品设计,最终成功推出了一款具有创新性的智能家居控制系统,赢得了市场的认可,为公司的发展奠定了坚实的基础。

Astro Industries Inc公司的发展小趣事

Astro Industries Inc的创始人在电子行业拥有丰富的经验,他们看到了市场对于高性能电子产品的迫切需求。于是,公司从创立之初就专注于技术创新,投入大量资源进行研发。经过不懈的努力,Astro Industries Inc成功推出了一款具有颠覆性的电子产品,其性能远超当时市场上的同类产品,迅速获得了市场的认可。

昭华(CHA)公司的发展小趣事

随着市场需求的不断变化,昭华公司敏锐地捕捉到了防水型轻触开关的市场潜力。他们投入大量资金进行技术研发,成功开发出了一系列防水性能优异、稳定性强的防水型轻触开关。这些产品一经推出便受到了市场的热烈欢迎,为昭华公司带来了可观的利润。此外,昭华公司还不断探索新的技术路线,成功将LED与开关结合,推出了发光开关系列产品,进一步丰富了公司的产品线。

ALCOA公司的发展小趣事

在20世纪的后半叶,ALCOA继续在技术上取得重大突破。例如,在40年代,公司采用N-40(Niagara)50kA中心下料预焙阳极电解槽技术为政府建造了铝冶炼厂。此外,公司还不断扩大海外业务,建立了全球性的生产和销售网络。这种全球布局使得ALCOA能够更好地满足不同地区的市场需求,也增强了公司的竞争力。

问答坊 | AI 解惑

linux 内核编译

请问:我编译内核得processor family应该选择什么? 我得cpu是:AMD TURION 64 MOBILE ML- 34 …

查看全部问答>

[求救]关于C8051F040的外部中断INT0问题

我目前想使用C8051F040的P3.0作为外部中断脚-INT0,我用示波器已经观察了管脚上的 波形,一切正常,但是始终进不了外部中断服务子程序。我使用了P1口的部分脚作中断 脚,中断是成功的,只要用到P3口就不行,P2口我没有去试, 所以我想请问 ...…

查看全部问答>

GPIO 驱动里面数据寄存器地址的疑惑

/******************************************************************************************* 函数名称: GPIO_SetPin 描    述: 设置某个引脚输出高电平 输入参数: DWORD dwIoControlCode : I/O control code, 指出操作的GPIO组, ...…

查看全部问答>

arm中断处理过程的几点疑惑

VECTOR_BRANCH     ldr pc,=HandlerEINT0    ;mGA    中断向量表     ldr pc,=HandlerEINT1    ;            ldr pc,=HandlerEINT2    ;   ...…

查看全部问答>

新手求助--用ccs写的汇编指令为什么老是提示错

我刚刚学习dsp课程,就按着书本上的代码写上,但是用汇编写老是错,\"TEXTxf.asm\", ERROR!   at line 15: [E0002] Invalid instruction for specified                    ...…

查看全部问答>

电流传感器

有谁用过pearson的电流传感器,其与LEM公司生产的传感器有什么不同;两者的工作原理是不是一样的? 在具体的参数上有什么区别,比方说参量精度,响应速度等,在那些方面表现优于LEM公司的传感器。 望有用过的高手指点一下!…

查看全部问答>

c8051单片机不能进入串口中断

我用的C8051单片机,现在串口0能正常收发,但串口1能发数据但不能进入接收中断,下面是软件代码,麻烦各位前辈帮我看看。 void UARTInit(void) {         PCON = 0x90;             ...…

查看全部问答>

MSP430F5739+TMP006温度传感器

硬件资源 MSP-EXP430F5739学习板 TMP006基本电路(2层板) 硬件连接:SCL---P1。7                   SDA--P1。6 [ 本帖最后由 蓝雨夜 于 2012-7-27 11:50 编辑 ]…

查看全部问答>

关于CSM password的问题.

将一段FLASH区用做数据存储,已经实现, 使用芯片为28035 请教: 1.程序使用API函数对FLASH进行读操作,是否需要UNLOCK,(进行写操作肯定是要UNLOCK的,否则写不进) 2.使用过程中发现未进行UNLOCK操作,也能读出FLASH中的值,LOCK难道只针对仿真JTAG通 ...…

查看全部问答>