|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2012-11-20 18:13:03
|
显示全部楼层
本帖最后由 kgsz 于 2012-11-20 18:18 编辑
原来打算放弃使用串口3了,但是现在还是得用串口3来做打印输出,我使用的Discovery这个开放板,我在程序中做了如下的改动:
在board.h里面
//#define RT_USING_UART1
//#define RT_USING_UART2
#define RT_USING_UART3
#define STM32_CONSOLE_USART 3
在USART.C 中把串口3的引脚设为PC10 和PC11
#define UART3_GPIO_TX GPIO_Pin_10
#define UART3_TX_PIN_SOURCE GPIO_PinSource10
#define UART3_GPIO_RX GPIO_Pin_11
#define UART3_RX_PIN_SOURCE GPIO_PinSource11
#define UART3_GPIO GPIOC
#define UART3_GPIO_RCC RCC_AHB1Periph_GPIOC
#define RCC_APBPeriph_UART3 RCC_APB1Periph_USART3
#define UART3_TX_DMA DMA1_Stream1
#define UART3_RX_DMA DMA1_Stream3
在rt_hw_usart_init()函数中屏蔽掉了DMA_Configuration();
修改了这个函数的标记 不使用DMA rt_hw_serial_register(&uart3_device, "uart3", RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX | RT_DEVICE_FLAG_STREAM,&uart3);
然后串口还是没有输出,我用其他程序测试硬件正常! 不知道还需要设置那里? |
|