سلام
من مثال 15(RS485) را روی برد lpc 1788 میریزم ولی هیج خروجی نداره.
قبلا از UART1 استفاده کرده بودم مشکلی نداشت ولی حالا UART 3 کانفیگ نمیشه.
قسمت کانفیگ را میزارم به نظرتون مشکل از کوجاس.
سلام
من مثال 15(RS485) را روی برد lpc 1788 میریزم ولی هیج خروجی نداره.
قبلا از UART1 استفاده کرده بودم مشکلی نداشت ولی حالا UART 3 کانفیگ نمیشه.
قسمت کانفیگ را میزارم به نظرتون مشکل از کوجاس.
ویرایش توسط sravakhah : 04-10-2015 در ساعت 11:31
یعنی تو این بورد هم uart1 هم uart3 ترنسیور داره؟ یا اصلا بدون ترنسیور داری تست میکنی؟
شماتیک rs-485 برد رو اگه بزاری شاید بیشتر بتونیم کمک کنیم
نه
از UART1 که 232 استفاده میکنم
من این طور برداشت میکنم که اصلا uart 3 کانفیگ نمیشه که بخواد adm را راه بندازه
- - - Updated - - -
شماتیکم همون شماتیک کویره پورت 4.26 تا 4.29 برا 485 گذاشته شده.
- - - Updated - - -
شما برد کویرو داری؟
نه متاسفانه من اصلا این بورد رو نمیشناسم، فقط میتونم نرم افزارو بررسی کنم.
شماتیکشا ضمیمه میکنم
کد را نگاه کن از cmsis استفاده کردم
به نظرت مشکلی میبینی
دانلود فایل Download LPC1788 Re1 pdf از آپلود آی آر
.کد کانفیگ را در زیر آوردم
کد:#include "lpc_types.h" #include "lpc177x_8x.h" #include "debug_frmwrk.h" #include "lpc177x_8x_gpio.h" #include "lpc177x_8x_pinsel.h" /* Private function prototypes -----------------------------------------------*/ void USART_Configuration(void); /******************************************************************************* * Function Name : main * Description : Main program * Input : None * Output : None * Return : None * Attention : None *******************************************************************************/ int main(void) { GPIO_Init(); PINSEL_ConfigPin(4,26,0); /* P4.26 - GPIO */ GPIO_SetDir(4, (1<<26), 1); /* Output Mode */ PINSEL_ConfigPin(4,27,0); /* P4.27 - GPIO */ GPIO_SetDir(4, (1<<27), 1); /* Output Mode */ USART_Configuration(); GPIO_SetValue(4, (1<<26)); //TX ENABLE GPIO_SetValue(4, (1<<27)); //RX ENABLE UARTPuts_( UART_3, "aa" ); UARTPuts_( UART_3, "* *" ); UARTPuts_( UART_3, "* Thank you for using EV-LPC1788-SDK Development Board £،^_^ *" ); UARTPuts_( UART_3, "* *" ); UARTPuts_( UART_3, "*****************************************************************" ); } } /******************************************************************************* * Function Name : USART_Configuration * Description : Configure USART1 * Input : None * Output : None * Return : None * Attention : None *******************************************************************************/ void USART_Configuration(void) { UART_CFG_Type UARTConfigStruct; /* * Initialize UART1 pin connect * P0.15: TXD * P0.16: RXD */ PINSEL_ConfigPin(4, 28, 1); PINSEL_ConfigPin(4, 29, 1); /* Initialize UART Configuration parameter structure to default state: * Baudrate = 115200bps * 8 data bit * 1 Stop bit * None parity */ UART_ConfigStructInit(&UARTConfigStruct); /* Re-configure baudrate to 115200bps */ UARTConfigStruct.Baud_rate = 115200; /* Initialize DEBUG_UART_PORT peripheral with given to corresponding parameter */ UART_Init(UART_3, &UARTConfigStruct); /* Enable UART Transmit */ UART_TxCmd(UART_3, ENABLE); } /********************************************************************************************************* END FILE *********************************************************************************************************/
ویرایش توسط sigma-mx : 04-10-2015 در ساعت 20:18 دلیل: فرمت بندی برنامه با تگ کد
الان مشکل حل شد؟
اینجا فانکشن دوم رو فعال کردی
PINSEL_ConfigPin(4, 28, 1);
PINSEL_ConfigPin(4, 29, 1);
تو قبلی فانکشن سوم
PINSEL_ConfigPin(4, 28, 2); PINSEL_ConfigPin(4, 29, 2);
طبق دیتا شیت فانکشن سوم درست باید باشه.
صفحه 32 دیتا شیت اینطوری میگه
شما از برد زرد رنگه استفاده می کنید؟
اگه آره پایه هاش وارونس.
سلام
PINSEL_ConfigPin راهمه جوره امتحان کردم نشد.
الان از Uart 1,2 رااز برد کشیدم بیرون و رو برد برد به adm485 دادم در ضمن enable را هم به 5 وصل کردم.
مشکل حل شد ولی با باد ریت 9600 وقتی باد ریتا رو 115200 میذارم دیتا مزخرف میفرسته
دارم بازم روش کار میکنم
حالا واقعا بر عکس بوذ اتصالشون؟
نه
من از برد قرمز رنگه استفاده میکنم
مثال خود کویر برا rs485 مشکل داره(uart 3 )را کانفیگ کرده، تو عمل دیتا مبادله نمیشه کد را میزارم ببینید مشکل از کجاس
ممنون
کد:/****************************************Copyright (c)**************************************************** ** ** http://www.powermcu.com ** **--------------File Info--------------------------------------------------------------------------------- ** File name: main.c ** Descriptions: This example describes how to use RS485 functionality on UART of LPC1788 ** **-------------------------------------------------------------------------------------------------------- ** Created by: AVRman ** Created date: 2012-8-18 ** Version: v1.0 ** Descriptions: The original version ** **-------------------------------------------------------------------------------------------------------- ** Modified by: ** Modified date: ** Version: ** Descriptions: ** *********************************************************************************************************/ /* Includes ------------------------------------------------------------------*/ #include "lpc_types.h" #include "lpc177x_8x.h" #include "debug_frmwrk.h" #include "lpc177x_8x_gpio.h" #include "lpc177x_8x_pinsel.h" /* Private function prototypes -----------------------------------------------*/ void USART_Configuration(void); /******************************************************************************* * Function Name : Delay * Description : Delay Time * Input : - nCount: Delay Time * Output : None * Return : None * Attention : None *******************************************************************************/ void Delay (uint32_t nCount) { for(; nCount != 0; nCount--); } /******************************************************************************* * Function Name : main * Description : Main program * Input : None * Output : None * Return : None * Attention : None *******************************************************************************/ int main(void) { /* 485_TX_EN P4.26 */ /* 485_RX_EN P4.27 */ PINSEL_ConfigPin(4,26,0); /* P4.26 - GPIO */ GPIO_SetDir(4, (1<<26), 1); /* Output Mode */ PINSEL_ConfigPin(4,27,0); /* P4.27 - GPIO */ GPIO_SetDir(4, (1<<27), 1); /* Output Mode */ USART_Configuration(); /* RS485 Output Mode */ GPIO_SetValue( 4, (1<<26) ); /* 485_TX_EN Enable */ GPIO_SetValue( 4, (1<<27) ); /* 485_RX_EN Disable */ UARTPuts_( UART_3, "*****************************************************************" ); UARTPuts_( UART_3, "* *" ); UARTPuts_( UART_3, "* Thank you for using EV-LPC1788-SDK Development Board £،^_^ *" ); UARTPuts_( UART_3, "* *" ); UARTPuts_( UART_3, "*****************************************************************" ); /* Infinite loop */ while(1) { /* RS485 Input Mode */ GPIO_ClearValue( 4, (1<<26) ); /* 485_TX_EN Disable */ GPIO_ClearValue( 4, (1<<27) ); /* 485_RX_EN Enable */ /* Serial port receive data */ /* import HY-LPC1788-SDK */ while( UARTGetChar(UART_3) !='E'); while( UARTGetChar(UART_3) !='V'); while( UARTGetChar(UART_3) !='-'); while( UARTGetChar(UART_3) !='L'); while( UARTGetChar(UART_3) !='P'); while( UARTGetChar(UART_3) !='C'); while( UARTGetChar(UART_3) !='1'); while( UARTGetChar(UART_3) !='7'); while( UARTGetChar(UART_3) !='8'); while( UARTGetChar(UART_3) !='8'); while( UARTGetChar(UART_3) !='-'); while( UARTGetChar(UART_3) !='S'); while( UARTGetChar(UART_3) !='D'); while( UARTGetChar(UART_3) !='K'); /* RS485 Output Mode */ GPIO_SetValue( 4, (1<<26) ); /* 485_TX_EN Enable */ GPIO_SetValue( 4, (1<<27) ); /* 485_RX_EN Disable */ Delay(0xfffff); UARTPuts_( UART_3, "RS485 receive data OK"); } } /******************************************************************************* * Function Name : USART_Configuration * Description : Configure USART1 * Input : None * Output : None * Return : None * Attention : None *******************************************************************************/ void USART_Configuration(void) { UART_CFG_Type UARTConfigStruct; /* * Initialize UART3 pin connect * P4.28: TXD * P4.29: RXD */ PINSEL_ConfigPin(4, 28, 2); PINSEL_ConfigPin(4, 29, 2); /* Initialize UART Configuration parameter structure to default state: * Baudrate = 115200bps * 8 data bit * 1 Stop bit * None parity */ UART_ConfigStructInit(&UARTConfigStruct); /* Re-configure baudrate to 115200bps */ UARTConfigStruct.Baud_rate = 115200; /* Initialize DEBUG_UART_PORT peripheral with given to corresponding parameter */ UART_Init(UART_3, &UARTConfigStruct); /* Enable UART Transmit */ UART_TxCmd(UART_3, ENABLE); } /********************************************************************************************************* END FILE *********************************************************************************************************/
والا چیز خاصی پیدا نمیکنم، متاسفانه سخت افزارم ندارم که اجراش کنم بتونم دیباگ کنم.
ممنون که جواب میدی
مشکل حل شد
IC ADM روی برد مشکل داشت
عوض کردم درست شد
به سلامتی