镜花缘1990 发表于 2016-12-30 11:34:33

stm32cube usart弄的头痛

hal库,usart1,dma通信,用IDLE中断,奇葩问题…………dma发送的时候HAL_UART_Transmit_DMA(&huart1, tx1_buf, i);tx1_buf中第一字节不能放 0x01,导致我现在直接掉入void HardFault_Handler(void),换成0x02一切正常…………

creep 发表于 2016-12-30 13:49:16

哪个系列的片子,可以换成超时中断+DMA 也可以接收不定长数据:

【F769IDISCOVERY评测】串口接收超时中断和字符匹配中断
https://www.stmcu.org.cn/module/forum/forum.php?mod=viewthread&tid=609672&fromuid=394920
(出处: 意法半导体STM32/STM8技术社区)

damiaa 发表于 2016-12-30 11:35:38

不会吧?

镜花缘1990 发表于 2016-12-30 11:38:50

damiaa 发表于 2016-12-30 11:35
不会吧?

正在头痛中…………

damiaa 发表于 2016-12-30 11:39:45

加油!:):):):):)

damiaa 发表于 2016-12-30 11:41:00

这种跳到HardFault_Handler 很多是内存问题,或者变量定义不一致,(有的文件中8位有的16位)等.

海迹天涯 发表于 2016-12-30 11:48:00

既然用DMA为何还要用IDLE中断?至于你说的不能放0X01我没遇到过,你先试试不用DMA能发0x01吗

zhangxu56726 发表于 2016-12-30 11:53:56

建议用标准库吧,不要用cube,那玩意不好用

黑皮男 发表于 2016-12-30 12:46:16

我也不习惯HAL库

镜花缘1990 发表于 2016-12-30 13:09:59

海迹天涯 发表于 2016-12-30 11:48
既然用DMA为何还要用IDLE中断?至于你说的不能放0X01我没遇到过,你先试试不用DMA能发0x01吗 ...

IDLE做不定长度接收
页: [1] 2
查看完整版本: stm32cube usart弄的头痛