onlyforsmile163
发表于 2017-9-14 12:04:09
int main(void)
{
unsigned char i,x;
uint16 len=0;
uint8 buff_message; /*定义一个2KB的缓存*/
uint8 channel;
/* SysTick end of count event each 10ms */
RCC_GetClocksFreq(&RCC_Clocks);
SysTick_Config(RCC_Clocks.HCLK_Frequency / 100);
Delay(5);
UART_All_Config();
DMA_For_AllUart_Rec_Config();
NVIC_Configuration();
>>>>>>>>>>>>>>
onlyforsmile163
发表于 2017-9-14 12:05:04
单独调试uart9和10 也是这样
kylongmu
发表于 2017-9-14 13:11:08
你全部串口都用DMA,是不是DMA实际资源不够了。
你只配置一个uart10怎么样?
onlyforsmile163
发表于 2017-9-14 13:16:38
kylongmu 发表于 2017-9-14 13:11
你全部串口都用DMA,是不是DMA实际资源不够了。
你只配置一个uart10怎么样? ...
也试过,还是一样,就是受的的数据不对,发送10个, 收到10个,但是数变了,我怀疑中间有可能为翻转什么的,但是别的串口1~8一点问题都没有,就是9~10同样的问题
kylongmu
发表于 2017-9-14 13:23:39
你的代码是自己写的还是CubeMX生成的?
onlyforsmile163
发表于 2017-9-14 13:31:19
kylongmu 发表于 2017-9-14 13:23
你的代码是自己写的还是CubeMX生成的?
自己写的
onlyforsmile163
发表于 2017-9-14 13:32:05
kylongmu 发表于 2017-9-14 13:23
你的代码是自己写的还是CubeMX生成的?
你用过f413的uart9和10吗?
onlyforsmile163
发表于 2017-9-14 13:34:26
kylongmu 发表于 2017-9-14 13:23
你的代码是自己写的还是CubeMX生成的?
我仿真的时候看过uart的寄存器,除了DR,所有和别的uart都一样,就是发送1过去的时候DR接受的是6
kylongmu
发表于 2017-9-14 14:34:34
看你用的是PG11,PG12。手册里的Uart10主功能脚是PE2,PE3,你用这两个脚试试看。
onlyforsmile163
发表于 2017-9-15 10:56:10
kylongmu 发表于 2017-9-14 14:34
看你用的是PG11,PG12。手册里的Uart10主功能脚是PE2,PE3,你用这两个脚试试看。
都换过了,uart9和10同样的毛病,能复用过来的引脚都试过了