嗨对话框,
我在HRP_SENSOR工程中,加入第二个串口。(系统默认使用UART2为打印,我用UART1为自杀)。
一个个奇怪的是,在HRS_TIMER_NOTIF批发的任务中,加加UART1代码时,总会系统(重置)
// -------------------------------------------
if(notef&hrs_timer_notif){//我在这里测试UART,每1次突破一次
UART1DEV = AD_UART_OPEN(SERIAL1);
if(uart1dev){
http_len = http_postpkt(uart1_buf,api_key,dev_id,“温度”,“24.5”);//这个函数在UART1_BUF中间填入组字字符串,空间1024,实际实际使用了大大150byte。
// printf(“%s”newline,uart1_buf);// < - 这个printf参数工作正式
AD_UART_WRITE(UART1DEV,UART1_BUF,HTTP_LEN);// !!!< - t这个函数一行,就会复位重置
}别的{
Printf(“UART1设备打开失败”换行符);
}
ad_uart_close(Uart1dev);
.........
// -------------------------------------------------------
没弄明显这两个个个区别?为什么同样长度,同样波特兰的不朽串口,一体会引起复位呢?
有什么解决办法吗?或者怎样诊断这种重置故障?
有关定义定义及化代码下:
/ -----------------------------------------
#if dg_configuart_adapter
UART_BUS(UART1,Serial1,HW_UART_BAUDRATE_115200,HW_UART_DATABITS_8,HW_UART_PARITY_NONE,
hw_uart_stopbits_1,0,0,hw_dma_channel_1,hw_dma_channel_0,0,0)
UART_BUS(UART2,Serial2,HW_UART_BAUDRATE_115200,HW_UART_DATABITS_8,HW_UART_PARITY_NONE,
HW_UART_STOPBITS_1,0,1,HW_DMA_CHANNEL_3,HW_DMA_CHANNEL_2,0,0)
#endif / * dg_configuart_adapter * /
// -----------------------------------------
我的UART使用P10和P14。
// ---------------------------
// p10 = tx1,p14 = rx1
hw_gpio_configure_pin(hw_gpio_port_1,hw_gpio_pin_4,hw_gpio_mode_output,
hw_gpio_func_gpio,1);
hw_gpio_set_pin_function(hw_gpio_port_1,hw_gpio_pin_0,hw_gpio_mode_output,
hw_gpio_func_uart_tx);
hw_gpio_set_pin_function(hw_gpio_port_1,hw_gpio_pin_4,hw_gpio_mode_output,
hw_gpio_func_uart_rx);
// ------------------------------
谢谢

试试看减少发表内容的长度或者在这个任务户外其他行行写作是不可能批评重置
你好,先生,
你能告诉我如何与你联系吗?电话号码?
嗨,jelphi,
我的电子邮件地址是liaojie@konka.com.
谢谢