Easyelectronics.ru

Электроника для всех
Текущее время: 23 окт 2018, 23:33

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



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Еще не дочитал, но по названию выглядит многообещающе.
СообщениеДобавлено: 13 авг 2010, 20:19 
Заглядывает иногда

Зарегистрирован: 26 янв 2010, 22:07
Сообщения: 199
Собственно статья: Porting AVR code for MSP430 chips


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Еще не дочитал, но по названию выглядит многообещающе.
СообщениеДобавлено: 21 авг 2010, 09:20 
Старожил

Зарегистрирован: 06 фев 2010, 17:22
Сообщения: 1557
Откуда: Иркутск
Если код на С, и много дефайнов - то легко портируется. Единственное, что мне не понравилось в MSP430-GCC, что там нет привычных с AVR-GCC _delay_ms и _delay_us. Пришлось делать свои:)
Код:
#ifndef __DELAYS_H__
#define __DELAYS_H__

volatile uint16_t _delay_flag = 0;

void _delay_us(uint16_t ms) {
  TACCR0 = ms;
  while(!_delay_flag)
    nop();
  _delay_flag = 0;
}

void _delay_ms(uint16_t ms) {
  uint16_t i;
  for(i = 0; i <= ms; i ++)
    _delay_us(1000);
}

interrupt(TIMERA0_VECTOR) TIMERA0_ISR(void) {
  _delay_flag = 1;
}

#endif

Реализация тривиальная, никаких флоатов для миллисекунд как для AVR:)
Для использования TimerA должен быть сконфигурирован на частоту 1MHz, счет до равенства с TACCR0 и разрешено прерывание таймера.
Например так:
Код:
  TACTL = TASSEL_2 | MC_1; // считаем, что SMCLK у нас сконфигурирован на 1MHz
  TACCTL0 = CCIE;


После этого мой программный UART с AVR портировался вобще без изменений в коде, только в дефайнах порты и конфигурацию портов изменил.


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

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


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

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


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

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

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