реклама на сайте
подробности

 
 
> UART, UART MSP430F134
jjjjjjein
сообщение Jan 30 2012, 06:08
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 31-10-11
Пользователь №: 68 059



Примеры кода на сайте техас инструмент на асемблере написанны. А может кто-нибудь простой код на си написать, как один символ из гипертерминала по UARTу в контроллер MSP430F135 перенести? А то я в UARTе ничего не понимаю
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jjjjjjein
сообщение Jan 30 2012, 10:59
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 31-10-11
Пользователь №: 68 059



Код
//**************************************************     ПОДКЛЮЧАЕМЫЕ К ПРОЕКТУ БИБЛИОТЕКИ     ********************************************************************************
******************

#include "msp430x13x.h"                                                         // Стандартная библиотека описания микроконтроллеров серии MSP430x13x
#include "stdbool.h"                                                            // Стандартная библиотека для работы с переменными типа BOOL
#include "stdio.h"                                                              // Стандартная библиотека ввовда/вывода
#include "stdint.h"
#include "usart_msp430.h"                                                       // Подключение библиотеки для работы с модулем USART микроконтроллера MSP430F135 data_convert_adc.h

//********************************************************************************
*********************************************************************************
******************************
//*************************************************     ГЛОБАЛЬНЫЕ ПНРЕМЕННЫЕ     ********************************************************************************
***************

volatile uint16_t t_interrupt;                                                  // 16-разрядный целочисленный тип без знака
uint16_t time1, time2,t1, t2;                                                   // 16-разрядный целочисленный тип без знака


//********************************************************************************
*********************************************************************************
******************************
//*************************************************     ФУНКЦИИ ПРЕДСТАВЛЕННЫЕ ДАННЫМ МОДУЛЕМ     ********************************************************************************
***************
uint16_t clock_10ms(void)
       {
           do
             { t1=t_interrupt;
               t2=t_interrupt;
             }
           while(t1 != t2);
           return t2;
       }

void InitializationTimersMSP430 (void);                                         // Функция инициализации внутренних аппаратных таймеров микроконтроллера
void InitializationPortIO (void);                                               // Функция инициализации портов ввода вывода микроконтроллера  
void InitializationUSART (void);                                                // Функция инициализации модуля USART микроконтроллера


//********************************************************************************
*********************************************************************************
******************************
//**************************************************************     ТЕЛО МОДУЛЯ     ********************************************************************************
****************************
//********************************************************************************
*********************************************************************************
******************************
void main( void )
{                                                                              
    WDTCTL = WDTPW + WDTHOLD;                                                   // Остановка сторожевого таймера, чтобы предотвратить время сброса
    _DINT();                                                                    // Запрещаем прерывания
    InitializationPortIO ();                                                    // Вызов функции инициализации портов ввода/вывода микроконтроллера  
    InitializationTimersMSP430 ();                                              // Вызов функции инициализации внутренних аппаратных таймеров микроконтроллера MSP430F135    
    InitializationUSART ();                                                     // Вызов функции инициализации модуля USART
    _EINT();                                                                    // Разрещаем прерывания

  time1 = clock_10ms();
// time2 = clock_10ms();
        for (;;)
           {
              if ((clock_10ms() - time1) >= 100)                                 //проверка периода (1сек)
                 {
                   // А вот в этом месте мне надо передать по UART 1 символ, UART инициализирован, а вот как написать само действие передачи, ни разу в жизни не видела, и всякие примеры кода и пдф по msp мне не советуйте, ибо всеравно ничего из них не пойму
                                                                                // Передача по UART
                   time1 = clock_10ms();
                 }
              //if ((clock_10ms() - time2) >= 50)                                 //проверка периода
               //  { P4OUT ^= BIT4;                                            
               //    time2 = clock_10ms();
               //  }
           }
/*  
while (1)
  
     {            
                              
       if (Flag_100ms == true)                                                  // Если поставлен флаг 100мс
                {
                   P4OUT = ~(P4OUT & BIT3);                                     // Состояние 4 вывода 4 порта меняется  
                   Flag_100ms = false;                                          // Флаг убирается
                }                    
     } */
}
//********************************************************************************
*********************************************************************************
******************************
//**********************************************************     ОБРАБОТЧИКИ ПРЕРЫВАНИЙ     ********************************************************************************
*********************
#pragma vector=TIMERA0_VECTOR                                                   // Прерывание от таймера А (срабатывает каждые 10 мс)
__interrupt void isr_TACCR0()
                {
                  t_interrupt += 1UL;                                           //инкремент переменной времени прерывания
                }
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th August 2025 - 13:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01369 секунд с 7
ELECTRONIX ©2004-2016