你现在位置:首页>技术论文>软件知识>正文
2007协议栈使用uart1修改步骤(SampleApp为例)
日期:2011-1-10 10:13:16 点击:
来源:本站整理
作者:
点击【】放大字体.
注意编译选项:

ZTOOL_P1

WWcW_PLCJS_COM-PLC-技.术_网

MT_TASK

WWW_PL※CJS_COM-PLC-技.术_网

HAL_UART=TRUE

——可——编——程——控-制-器-技——术——门——户

SERIAL_APP_PORT=0

WWW_PLCJS@_COM%-PLC-技.术_网

BUILD_ALL_DEVICES

WWW_PL※CJS_COM-PLC-技.术_网

1、使用ISR不使用DMA   hal_board_cfg.h文件中

WWW.PLCJS.COM——可编程控制器技术门户

#if HAL_UART

WWcW_PLCJS_COM-PLC-技.术_网

#ifndef HAL_UART_DMA

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

#if HAL_DMA

WWW_PLC※JS_COM-PmLC-技.术_网

#if (defined ZAPP_P2) || (defined ZTOOL_P2)

WWW_PLC※JS_COM-PmLC-技.术_网

#define HAL_UART_DMA  2

plcjs.技.术_网

#else

WWW_P※LCJS_CO※M-PLC-技-.术_网

#define HAL_UART_DMA  1

WWW_PLC※JS_COM-PmLC-技.术_网

#endif

WWW_P※LCJS_CO※M-PLC-技-.术_网

#else

P.L.C.技.术.网——可编程控制器技术门户

#define HAL_UART_DMA  0

WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

改为

WW.W_PLCJS_COM-PLC-技.术_网

#if HAL_UART

P.L.C.技.术.网——可编程控制器技术门户

#ifndef HAL_UART_DMA

plcjs.技.术_网

#if HAL_DMA

WWW_P※LCJS_COM-PLC-)技.术_网

#if (defined ZAPP_P2) || (defined ZTOOL_P2)

WWW_PLC※JS_COM-PmLC-技.术_网

#define HAL_UART_DMA  2

WW.W_PLC※JS_C,OM-PL,C-技.术_网

#else

WWW.PLCJS.COM——可编程控制器技术门户

#define HAL_UART_ISR  1

WWW_PLCJS@_COM%-PLC-技.术_网

#endif

W1WW_P4LCJS_COM-PLC-技.术_网

#else

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

#define HAL_UART_DMA  0

WWW_PLC※JS_COM-PmLC-技.术_网

#endif

WWW_P※LCJS_CO※M-PLC-技-.术_网

#endif

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

2、修改优先级以及uart引脚设置 _hal_uart_isr.c文件

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

重要函数:

——可——编——程——控-制-器-技——术——门——户

static void HalUARTInitISR(void)

WWW_PL※CJS_COM-PLC-技.术_网

{

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

  // Set P2 priority - USART0 over USART1 if both are defined.

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

  P2DIR &= ~P2DIR_PRIPO;

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

  P2DIR |= HAL_UART_PRIPO;

WW.W_PLCJS_COM-PLC-技.术_网

——可——编——程——控-制-器-技——术——门——户

#if (HAL_UART_ISR == 1)

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

  PERCFG &= ~HAL_UART_PERCFG_BIT; // Set UART0 I/O location to P0.

P.L.C.技.术.网——可编程控制器技术门户

#else

WWW_PLC※JS_COM-PmLC-技.术_网

  PERCFG |= HAL_UART_PERCFG_BIT;     // Set UART1 I/O location to P1.

WWW_PLCJS_COM-PLC-技.术_网

#endif

plcjs.技.术_网

  PxSEL  |= HAL_UART_Px_RX_TX;       // Enable Tx and Rx on P1.

P.L.C.技.术.网——可编程控制器技术门户

  ADCCFG &= ~HAL_UART_Px_RX_TX;      // Make sure ADC doesnt use this.

WWW_P※LCJS_CO※M-PLC-技-.术_网

  UxCSR = CSR_MODE;                  // Mode is UART Mode.

WWW_PL※CJS_COM-PLC-技.术_网

  UxUCR = UCR_FLUSH;                 // Flush it.

WWW_P※LCJS_COM-PLC-)技.术_网

WWW_P※LCJS_COM-PLC-)技.术_网

WWW_PLCJS@_COM%-PLC-技.术_网

里面需要修改的参数

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

A)HAL_UART_PRIPO 0x00修改为0x40

WWW_PLC※JS_COM-PmLC-技.术_网

B)PERCFG &= ~HAL_UART_PERCFG_BIT HAL_UART_PERCFG_BIT 值修改为0x02

WW.W_PLCJS_COM-PLC-技.术_网

C)、将 HAL_UART_Px_RX_TX的值修改为0x30

WWW_PLC※JS_COM-PmLC-技.术_网

D)、将HAL_UART_Px_RTS HAL_UART_Px_CTS的值分别修改为0x800x40(这两个参数在宏定义中,不在这个函数中)

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW.PLCJS.COM——可编程控制器技术门户

3、串口中断函数修改  _hal_uart_isr.c文件

WWW.PLCJS.COM——可编程控制器技术门户

 串口发送和接收中断函数都按照以下修改:

W1WW_P4LCJS_COM-PLC-技.术_网

#if (HAL_UART_ISR == 1)

WWW_PLCJS@_COM%-PLC-技.术_网

HAL_ISR_FUNCTION( halUart0RxIsr, URX0_VECTOR )

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

#else

WWcW_PLCJS_COM-PLC-技.术_网

HAL_ISR_FUNCTION( halUart1RxIsr, URX1_VECTOR )

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

#endif

WW.W_PLCJS_COM-PLC-技.术_网

plcjs.技.术_网

修改为

WWW_P※LCJS_CO※M-PLC-技-.术_网

#if (HAL_UART_ISR == 1)

WWcW_PLCJS_COM-PLC-技.术_网

HAL_ISR_FUNCTION( halUart1RxIsr, URX1_VECTOR )

W1WW_P4LCJS_COM-PLC-技.术_网

#else

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

HAL_ISR_FUNCTION( halUart1RxIsr, URX1_VECTOR )

WWcW_PLCJS_COM-PLC-技.术_网

#endif

W1WW_P4LCJS_COM-PLC-技.术_网

WWW_P※LCJS_CO※M-PLC-技-.术_网

3、设置流控选项 MT_UART.c文件

P.L.C.技.术.网——可编程控制器技术门户

MT_UartInit ()函数中参数MT_UART_DEFAULT_OVERFLOW修改为FALSE

WWW_PL※CJS_COM-PLC-技.术_网

4、寄存器修改_hal_uart_isr.c文件

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

#if (HAL_UART_ISR == 1)

WWW_PL※CJS_COM-PLC-技.术_网

#define PxOUT                      P0

——可——编——程——控-制-器-技——术——门——户

#define PxDIR                      P0DIR

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

#define PxSEL                      P0SEL

plcjs.技.术_网

#define UxCSR                      U0CSR

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

#define UxUCR                      U0UCR

WWW_P※LCJS_COM-PLC-)技.术_网

#define UxDBUF                     U0DBUF

WW.W_PLCJS_COM-PLC-技.术_网

#define UxBAUD                     U0BAUD

WWW_P※LCJS_COM-PLC-)技.术_网

#define UxGCR                      U0GCR

WW.W_PLC※JS_C,OM-PL,C-技.术_网

#define URXxIE                     URX0IE

WWW_PL※CJS_COM-PLC-技.术_网

#define URXxIF                     URX0IF

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

#define UTXxIE                     UTX0IE

WWW_PL※CJS_COM-PLC-技.术_网

#define UTXxIF                     UTX0IF

WWW_P※LCJS_COM-PLC-)技.术_网

W1WW_P4LCJS_COM-PLC-技.术_网

修改为

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

#define PxOUT                      P0

WWW_P※LCJS_CO※M-PLC-技-.术_网

#define PxDIR                      P0DIR

WW.W_PLCJS_COM-PLC-技.术_网

#define PxSEL                      P0SEL

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

#define UxCSR                      U1CSR

plcjs.技.术_网

#define UxUCR                      U1UCR

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

#define UxDBUF                     U1DBUF

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

#define UxBAUD                     U1BAUD

plcjs.技.术_网

#define UxGCR                      U1GCR

WWcW_PLCJS_COM-PLC-技.术_网

#define URXxIE                     URX1IE

WWW_PLCJS_COM-PLC-技.术_网

#define URXxIF                     URX1IF

——可——编——程——控-制-器-技——术——门——户

#define UTXxIE                     UTX1IE

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

#define UTXxIF                     UTX1IF

plcjs.技.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行