你现在位置:首页>技术论文>软件知识>正文
2007协议栈使用uart1修改步骤
日期:2011-3-19 1:08:59 点击:
来源:本站整理
作者:
点击【】放大字体.

注意编译选项:

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

ZTOOL_P1

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

MT_TASK

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

HAL_UART=TRUE

plcjs.技.术_网

SERIAL_APP_PORT=0

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

BUILD_ALL_DEVICES

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

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

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

#if HAL_UART

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

#ifndef HAL_UART_DMA

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

#if HAL_DMA

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

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

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

#define HAL_UART_DMA  2

WWW_PLC※JS_COM-PmLC-技.术_网

#else

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

#define HAL_UART_DMA  1

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

#endif

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

#else

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

#define HAL_UART_DMA  0

WWcW_PLCJS_COM-PLC-技.术_网

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

改为

W1WW_P4LCJS_COM-PLC-技.术_网

#if HAL_UART

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

#ifndef HAL_UART_DMA

plcjs.技.术_网

#if HAL_DMA

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

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

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

#define HAL_UART_DMA  2

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

#else

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

#define HAL_UART_ISR  1

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

#endif

WWcW_PLCJS_COM-PLC-技.术_网

#else

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

#define HAL_UART_DMA  0

WWW_PLC※JS_COM-PmLC-技.术_网

#endif

WWcW_PLCJS_COM-PLC-技.术_网

#endif

WWW_PLC※JS_COM-PmLC-技.术_网

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

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

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

重要函数:

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

static void HalUARTInitISR(void)

WWW_PLC※JS_COM-PmLC-技.术_网

{

WWW_PL※CJS_COM-PLC-技.术_网

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

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

  P2DIR &= ~P2DIR_PRIPO;

WWW_PLCJS_COM-PLC-技.术_网

  P2DIR |= HAL_UART_PRIPO;

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

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

#if (HAL_UART_ISR == 1)

W1WW_P4LCJS_COM-PLC-技.术_网

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

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

#else

WW.W_PLCJS_COM-PLC-技.术_网

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

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

#endif

W1WW_P4LCJS_COM-PLC-技.术_网

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

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

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

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

  UxCSR = CSR_MODE;                  // Mode is UART Mode.

plcjs.技.术_网

  UxUCR = UCR_FLUSH;                 // Flush it.

plcjs.技.术_网

plcjs.技.术_网

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

里面需要修改的参数

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

A)HAL_UART_PRIPO 0x00修改为0x40

WWW_PLCJS_COM-PLC-技.术_网

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

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

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

W1WW_P4LCJS_COM-PLC-技.术_网

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

WWW_PLCJS_COM-PLC-技.术_网

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

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

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

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

plcjs.技.术_网

#if (HAL_UART_ISR == 1)

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

HAL_ISR_FUNCTION( halUart0RxIsr, URX0_VECTOR )

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

#else

WWcW_PLCJS_COM-PLC-技.术_网

HAL_ISR_FUNCTION( halUart1RxIsr, URX1_VECTOR )

WWW_PLCJS_COM-PLC-技.术_网

#endif

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

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

修改为

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

#if (HAL_UART_ISR == 1)

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

HAL_ISR_FUNCTION( halUart1RxIsr, URX1_VECTOR )

WWW_PL※CJS_COM-PLC-技.术_网

#else

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

HAL_ISR_FUNCTION( halUart1RxIsr, URX1_VECTOR )

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

#endif

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

W1WW_P4LCJS_COM-PLC-技.术_网

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

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

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

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

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

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

#if (HAL_UART_ISR == 1)

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

#define PxOUT                      P0

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

#define PxDIR                      P0DIR

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

#define PxSEL                      P0SEL

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

#define UxCSR                      U0CSR

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

#define UxUCR                      U0UCR

WWW_PLCJS_COM-PLC-技.术_网

#define UxDBUF                     U0DBUF

plcjs.技.术_网

#define UxBAUD                     U0BAUD

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

#define UxGCR                      U0GCR

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

#define URXxIE                     URX0IE

WWW_PL※CJS_COM-PLC-技.术_网

#define URXxIF                     URX0IF

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

#define UTXxIE                     UTX0IE

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

#define UTXxIF                     UTX0IF

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

WWW_PLC※JS_COM-PmLC-技.术_网

修改为

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

#define PxOUT                      P0

WWW_PLCJS_COM-PLC-技.术_网

#define PxDIR                      P0DIR

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

#define PxSEL                      P0SEL

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

#define UxCSR                      U1CSR

W1WW_P4LCJS_COM-PLC-技.术_网

#define UxUCR                      U1UCR

WWW_PL※CJS_COM-PLC-技.术_网

#define UxDBUF                     U1DBUF

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

#define UxBAUD                     U1BAUD

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

#define UxGCR                      U1GCR

WW.W_PLCJS_COM-PLC-技.术_网

#define URXxIE                     URX1IE

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

#define URXxIF                     URX1IF

WWcW_PLCJS_COM-PLC-技.术_网

#define UTXxIE                     UTX1IE

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

#define UTXxIF                     UTX1IF

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

上一篇: 用普通指令编写S7-1200的循环程序
下一: 没有了
评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









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