TI中文支持网
TI专业的中文技术问题搜集分享网站

想用中断的方式来进行串口发送,更改HAL_DMA=FALSE,编译之后为什么有好多错误?

错误如下:

Error[Pe020]: identifier "halDMADesc_t" is undefined D:\IAR_lianxi\Z_Stack\T_V_collect_7\ZStack-CC2530-2.3.0-1.4.0\Components\hal\target\CC2530EB\hal_flash.c 209

Error[Pe020]: identifier "HAL_DMA_VLEN_USE_LEN" is undefined D:\IAR_lianxi\Z_Stack\T_V_collect_7\ZStack-CC2530-2.3.0-1.4.0\Components\hal\target\CC2530EB\hal_flash.c 213

好像都是oid HalFlashWrite(uint16 addr, uint8 *buf, uint16 cnt)函数里面的参数都为DMA,要怎么改成ISR?

Alvin Chen:

可以在hal_board_cfg.h 里面选择:

* @fnHalUARTOpen** @briefOpen a port according tp the configuration specified by parameter.** @paramport- UART port*config – contains configuration information** @returnStatus of the function call*****************************************************************************/
uint8 HalUARTOpen(uint8 port, halUARTCfg_t *config)
{(void)port;(void)config;

#if (HAL_UART_DMA == 1)if (port == HAL_UART_PORT_0)HalUARTOpenDMA(config);
#endif
#if (HAL_UART_DMA == 2)if (port == HAL_UART_PORT_1)HalUARTOpenDMA(config);
#endif
#if (HAL_UART_ISR == 1)if (port == HAL_UART_PORT_0)HalUARTOpenISR(config);
#endif
#if (HAL_UART_ISR == 2)if (port == HAL_UART_PORT_1)HalUARTOpenISR(config);
#endif
#if (HAL_UART_USB)HalUARTOpenUSB(config);
#endifreturn HAL_UART_SUCCESS;
}

user4711142:

回复 Alvin Chen:

这个我已将更改了,现在是HAL_UART_DMA = 0;HAL_UART_ISR == 1;。编译报错,是不是更改完之后要用HalUARTWriteISR()代替以前的HalUARTWrite()

Alvin Chen:

回复 user4711142:

不需要在HalUARTWrite有定义。

Alvin Chen:

回复 Alvin Chen:

YiKai Chen:

回复 user4711142:

我用Z-Stack Home 1.2.2a加上
HAL_UART=TRUE
HAL_UART_ISR=1
HAL_UART_DMA=0

可以編譯成功

user4711142:

回复 Alvin Chen:

试了你的方法,编译通过了但是会有很多警告。

我是把HAL_DMA=0;这样为什么不行?

user4711142:

回复 Alvin Chen:

通过了,我更改hal_board_cfg.h中的HAL_DMA=FALSE,就报错,不知道为什么

user4711142:

回复 YiKai Chen:

按照你的方式,编译通过了,其他地方没做任何改动。现在串口无法输出数据了

user4711142:

回复 user4711142:

HalUARTWriteISR()这个函数没有定义,是需要自己去添加么?

YiKai Chen:

回复 user4711142:

HalUARTWriteISR在_hal_uart_isr.c裡面

赞(0)
未经允许不得转载:TI中文支持网 » 想用中断的方式来进行串口发送,更改HAL_DMA=FALSE,编译之后为什么有好多错误?
分享到: 更多 (0)