错误如下:
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裡面