Easyelectronics.ru

Электроника для всех
Текущее время: 22 янв 2021, 21:29

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: C8051F340 UART1 TX RX Pin Configuration Shifting
СообщениеДобавлено: 22 сен 2020, 15:33 
Заглядывает иногда

Зарегистрирован: 08 фев 2012, 21:53
Сообщения: 33
Откуда: Москва, Братеево
Осваиваю c8051F340.
По умолчанию UART0 выведен на контакты P0.4 & P0.5 а UART1 на P0.0 & P0.1
Но выведены они через CrossBar который согласно документации можно конфигурить.
Вот я и пытаюсь перенаправить UART1 на контакты P0.4 & P0.5 отказавшись от UART0 вообще
Причина в том что UART1 имеет большее количество настроек, а именно два стоп бита и контроль четности.
А на контактах P0.4 & P0.5 разведен max232 с выходом на DB9 разъем.
Ниже моя попытка проинициализировать этот UART на других контактах
Подскажите, что я не сделал? Что не учел?
Код:
//-----------------------------------------------------------------------------
// F34x_UART_STDIO.c
//-----------------------------------------------------------------------------
// Copyright 2006 Silicon Laboratories, Inc.
// http://www.silabs.com
//
// Program Description:
//
// This program demonstrates how to configure the C8051F340 to use routines
// in STDIO.h to write to and read from the UART interface.  The program
// reads a character using the STDIO routine getkey(), outputs that character
// to the screen, and then outputs the ASCII hex value of that character.
//
//
// How To Test:
//
// 1) Ensure that jumpers are placed on J3 of the C8051F340 target board
//    that connect the P0.4 pin to the TX  signal, and P0.5 to the RX signal.
// 2) Ensure that the serial cable is connected to the RS232 connector
//    on the target board.
// 3) Specify the target baudrate in the constant <BAUDRATE>.
// 4) Open Hyperterminal, or a similar program, and connect to the target
//    board's serial port.
// 5) Download and execute code on an 'F340 target board.
//   
//
// FID:            34X000109
// Target:         C8051F34x
// Tool chain:     Keil C51 7.50 / Keil EVAL C51
// Command Line:   None
//
// Release 1.0
//    -Initial Revision (PD)
//    -17 AUG 2006
//

//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------

#include <c8051f340.h>                 // SFR declarations
#include <stdio.h>


//-----------------------------------------------------------------------------
// Function PROTOTYPES
//-----------------------------------------------------------------------------

void UART_Init(void);
void Port_IO_Init(void);
void Oscillator_Init(void);

void Timer2_Init (int);

//-----------------------------------------------------------------------------
// MAIN Routine
//-----------------------------------------------------------------------------

void main (void)
{
   unsigned char inputcharacter;       // Used to store character from UART

   PCA0MD &= ~0x40;                    // WDTE = 0 (clear watchdog timer
                                       // enable)
    UART_Init();
    Port_IO_Init();
    Oscillator_Init();

   while (1)
   {
      printf ("\nEnter character: ");
      inputcharacter = getkey ();
      printf ("\nCharacter entered : %c",inputcharacter);
      printf ("\n      Value in Hex: %bx",inputcharacter);

   }
}

//-----------------------------------------------------------------------------
// Initialization Subroutines
//-----------------------------------------------------------------------------


void PORT_IO_Init (void)
{
   
    // P0.0  -  Skipped,     Open-Drain, Digital
    // P0.1  -  Skipped,     Open-Drain, Digital
    // P0.2  -  Skipped,     Open-Drain, Digital
    // P0.3  -  Skipped,     Open-Drain, Digital
    // P0.4  -  TX1 (UART1), Open-Drain, Digital
    // P0.5  -  RX1 (UART1), Open-Drain, Digital
    // P0.6  -  Unassigned,  Open-Drain, Digital
    // P0.7  -  Unassigned,  Open-Drain, Digital

    P0MDOUT   = 0x10;
    P0SKIP    = 0x0F;
    XBR1      = 0x40;
    XBR2      = 0x01;
   
}

//-----------------------------------------------------------------------------
// Oscillator_Init
//-----------------------------------------------------------------------------
//
// Return Value : None
// Parameters   : None
//
// This routine initializes the system clock to use the internal oscillator
// at its maximum frequency.
// Also enables the Missing Clock Detector.
//-----------------------------------------------------------------------------

void Oscillator_Init(void)
{
    OSCICN    = 0x83;
}

//-----------------------------------------------------------------------------
// UART_Init
//-----------------------------------------------------------------------------
//
// Return Value : None
// Parameters   : None
//
// Configure the UART0 using Timer1, for <BAUDRATE> and 8-N-1.
//-----------------------------------------------------------------------------

void UART_Init (void)
{
    SBRLL1    = 0x8F;
    SBRLH1    = 0xFD;
    SCON1     = 0x10;
    SBCON1    = 0x43;
}

//-----------------------------------------------------------------------------
// End Of File
//-----------------------------------------------------------------------------


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C8051F340 UART1 TX RX Pin Configuration Shifting
СообщениеДобавлено: 22 сен 2020, 17:06 
Старожил

Зарегистрирован: 19 мар 2020, 00:29
Сообщения: 293
Откуда: VRN-сити
конфигурируете в программе ихней (силиконовской)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C8051F340 UART1 TX RX Pin Configuration Shifting
СообщениеДобавлено: 22 сен 2020, 17:20 
Заглядывает иногда

Зарегистрирован: 08 фев 2012, 21:53
Сообщения: 33
Откуда: Москва, Братеево
Да в Configuration Wisard 2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C8051F340 UART1 TX RX Pin Configuration Shifting
СообщениеДобавлено: 22 сен 2020, 18:49 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 2059
kuka_v писал(а):
Осваиваю c8051F340

kuka_v, зачем они тебе?

_________________
mcu.goodboard.ru


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB