Isaev_ivan

Members
  • Публикации

    7
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

О Isaev_ivan

  • Звание
    Новенький

Информация

  • Город
    Самара

Электроника

  • Стаж в электронике
    1-2 года
  • Сфера радиоэлектроники
    Микроконтроллеры
  1. Доброго времени суток всем! Недавно возникла потребность передачи данных из микроконтроллера в ПК. Написал код на ассемблере, опираясь на Code_examples от TI, и то, что получилось, приведено ниже: #include "msp430F1232.h" RSEG CSTACK DS16 0 RSEG CODE ;--------------------------------------------------------------------- ; Установка тактирования от кварца ;--------------------------------------------------------------------- RESET mov #SFE(CSTACK),SP mov #WDTPW+WDTHOLD,&WDTCTL ;OSTANOVKA WDT BIC #OSCOFF, SR ; tAKTIROVANIE OT KVARCA BIS.B #XTS, BCSCTL1 L1 BIC.B #OFIFG, &IFG1 MOV #0FFh, R15 L2 DEC R15 JNZ L2 BIT.B #OFIFG, &IFG1 JNZ L1 BIS.B #SELM_3, &BCSCTL2 ;-------------------------------------------------------------------- ; Инициализация USART ;-------------------------------------------------------------------- mov.b #200,R7 bis.b #SWRST,&UCTL0; bis.b #030h,&P3SEL; P3.4,5 - USART bis.b #UTXE0+URXE0,&ME2; Включение передачи и приема bis.b #CHAR, &UCTL0; Формат данных 8-разрядный mov.b #SSEL0, &UTCTL0; UCLK=ACLK mov.b #0100b,&UBR00; 5MHz/19200 = 260.4 = 100000100b mov.b #0001b,&UBR10; mov.b #0000, &UMCTL0; Без модуляции bic.b #SWRST,&UCTL0; Сброс USART не включен bis.b #URXIE0+UTXIE0,&IE2 bis.b #UTXIFG0,&IFG2; Флаг гтовности к прерыванию Loop bis.w #LPM3+GIE,SR nop jmp Loop ;------------------------------------------------------------------- USART0TX_ISR; ;------------------------------------------------------------------- mov.b R7, &TXBUF0; reti ;-------------------------------------------------------------------- ; Векторы прерываний ;-------------------------------------------------------------------- COMMON INTVEC ORG RESET_VECTOR DW RESET ORG USART0TX_VECTOR DW USART0TX_ISR END. Из программы видно, что я просто хочу передать содержимое R7 в ПК. Трудность заключается в том, что это значение передается не всегда. Запускаю программу, которая считывает информацию с com порта (программа работает 100% правильно), она в тестовый файл записывает значение 200(правильное значение). В следующий раз, после перезапуска программы, в текстовый файл она записывает величину 14. Потом снова 200. И я не пойму, что с ней происходит! Кто знает, отзовитесь пожалуйста
  2. Вопросы От Начинающих По Мк

    все получилось! всем спасибо!
  3. Вопросы От Начинающих По Мк

    Вроде создает. Сейчас попробовал скомпилировать файл с этим расширением, протеус выдал еще больше ошибок. А как блокнотом открыть файл .hex?
  4. Вопросы От Начинающих По Мк

    si4karuk, а как можно реализовать без батарейки?)
  5. Вопросы От Начинающих По Мк

    Открыл свой hex в блокноте и увидел это. Как это исправить??
  6. Вопросы От Начинающих По Мк

    А как определить какой именно мне нужен? А сам текст программы правильный?
  7. Вопросы От Начинающих По Мк

    Добрый вечер, товарищи! Совсем недавно начал изучать микроконтроллеры. И решил начать с фирмы Texas Instruments. Хочу собрать схему, показанную на рисунке 1. Т.е с помощью кнопки переключать светодиоды. Написал код программы: #include "msp430f1121.h" int main(void) { WDTCTL = WDTPW + WDTHOLD; P1DIR |= BIT1 + BIT3; P1OUT = 0x00; P1OUT |= BIT2; while(1) { if((P1IN & BIT2)==0) { P1OUT |= BIT1; P1OUT &= ~BIT3; } else { P1OUT |= BIT3; P1OUT &= ~BIT1; } } } IAR ругаться на нее не стал. Сначала решил промоделировать схему в протеусе, использую выходной файл .hex . Но вот протеус стал ругаться и выдавать вот такую ошибку: Error reading HEX file D\....\(location): Colon expected at start of line.. Real Time Simulation failed to start. Ума не приложу в чем ошибка! Но самое главное протеус работает нормально, прошивка, скачанная из интернета для других МК работает. Прошу, помогите мне! Заранее благодарю всех!