TI MSP430 Launch Pad

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
polli123456
Встал на лапы
Сообщения: 86
Зарегистрирован: Пн мар 07, 2011 15:06:32
Откуда: Murom

Re: TI MSP430 Launch Pad

Сообщение polli123456 »

В энергии стандартная библиотека, вот пример из неё:
Спойлер/*
LiquidCrystal Library - Hello World

Demonstrates the use a 16x2 LCD display. The LiquidCrystal
library works with all LCD displays that are compatible with the
Hitachi HD44780 driver. There are many of them out there, and you
can usually tell them by the 16-pin interface.

This sketch prints "Hello World!" to the LCD
and shows the time.

The circuit:
===============
LCD pin Connect to
----------
01 - GND GND, pot
02 - VCC +5V, pot
03 - Contrast Pot wiper
04 - RS Pin8 (P2.0)
05 - R/W GND
06 - EN Pin9 (P2.1)
07 - DB0 GND
08 - DB1 GND
09 - DB2 GND
10 - DB3 GND
11 - DB4 Pin10 (P2.2)
12 - DB5 Pin11 (P2.3)
13 - DB6 Pin12 (P2.4)
14 - DB7 Pin13 (P2.5)
15 - BL+ +5V
16 - BL- GND
===============

Library originally added 18 Apr 2008
by David A. Mellis
library modified 5 Jul 2009
by Limor Fried (http://www.ladyada.net)
example added 9 Jul 2009
by Tom Igoe
modified 22 Nov 2010
by Tom Igoe

This example code is in the public domain.

http://www.arduino.cc/en/Tutorial/LiquidCrystal
*/

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(P2_0, P2_1, P2_2, P2_3, P2_4, P2_5);

void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}

void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis()/1000);
}

Пример в CCS http://mcudu.blogspot.com/2011/02/wh0802a.html
и продолжение с библиотекой здесь: http://mcudu.blogspot.com/2011/02/blog-post.html
p/s делал и то и другое, работает всё.
andrey_vsk
Родился
Сообщения: 3
Зарегистрирован: Ср дек 14, 2011 09:59:57
Откуда: г.Мурманск
Контактная информация:

Re: TI MSP430 Launch Pad

Сообщение andrey_vsk »

Эти библиотеки и пробовал. Удалось все таки запустить его, сначала в IAR, потом в energia. Только не пойму одного, косяк оказался в плохом контакте на ноге контрастности, хотя при этом даже она регулировалась, квадратики то исчезали то появлялись при регулировке, заметил подергав руками провод, перепаял, все заработало на ура.... 2 дня убил на это...
Аватара пользователя
polli123456
Встал на лапы
Сообщения: 86
Зарегистрирован: Пн мар 07, 2011 15:06:32
Откуда: Murom

Re: TI MSP430 Launch Pad

Сообщение polli123456 »

Я контрастность (3 вывод) всегда сразу подтягиваю к земле через 2.2к или 3.3к (что ближе под руку попадёт), к плюсу не подтягиваю (давно когда-то косячила, так и не делаю).
morpheus
Родился
Сообщения: 8
Зарегистрирован: Вт мар 15, 2011 09:59:59

Re: TI MSP430 Launch Pad

Сообщение morpheus »

У меня такая вот проблема:

Код: Выделить всё

#include "msp430.h"
int main(void){
   WDTCTL = WDTPW + WDTHOLD;
   P1DIR = 0;
   P1DIR |= BIT0;
  while (1) {
    if (P1IN & BIT3) {
     P1OUT = BIT0;
    } else {
     P1OUT &= ~BIT0;
    }
  }
}

Предполагается что при нажатии а кнопку P1.3 загорится светодиод 1.0, однако происходит что-то странное: светодиод загорается без нажатия на клавишу, а при простом прикосновении к железной крышке кнопки или к пину 1.3 на мк. при нажатии на клавишусветодиод гаснет. Тестировал на 2х ланчпадах, на обоих такая фигня. В чем может быть проблема?
P.S. Компилятор mspgcc и IAR
Аватара пользователя
prinv
Вымогатель припоя
Сообщения: 677
Зарегистрирован: Чт янв 20, 2011 09:07:08
Откуда: Пермь
Контактная информация:

Re: TI MSP430 Launch Pad

Сообщение prinv »

Подтяните P1.3 резистором к 0
Никакая контра не уйдёт от нас
morpheus
Родился
Сообщения: 8
Зарегистрирован: Вт мар 15, 2011 09:59:59

Re: TI MSP430 Launch Pad

Сообщение morpheus »

prinv писал(а):Подтяните P1.3 резистором к 0

тогда не понятно, почему это не сделано создателями платы? И в стандартной прошивке с термометром кнопка вполне функциональна без всяких резисторов?
Аватара пользователя
prinv
Вымогатель припоя
Сообщения: 677
Зарегистрирован: Чт янв 20, 2011 09:07:08
Откуда: Пермь
Контактная информация:

Re: TI MSP430 Launch Pad

Сообщение prinv »

Это программно делается, я летом разбирался - сейчас поищу.
Никакая контра не уйдёт от нас
Аватара пользователя
prinv
Вымогатель припоя
Сообщения: 677
Зарегистрирован: Чт янв 20, 2011 09:07:08
Откуда: Пермь
Контактная информация:

Re: TI MSP430 Launch Pad

Сообщение prinv »

Вот здесь всё про кнопки и про подтягивающие резисторы расписано.
Никакая контра не уйдёт от нас
morpheus
Родился
Сообщения: 8
Зарегистрирован: Вт мар 15, 2011 09:59:59

Re: TI MSP430 Launch Pad

Сообщение morpheus »

prinv писал(а):Вот здесь всё про кнопки и про подтягивающие резисторы расписано.

Большое спасибо!
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: TI MSP430 Launch Pad

Сообщение YS »

Код: Выделить всё

   P1DIR = 0;
   P1DIR |= BIT0;


Стоит заменить на

Код: Выделить всё

P1DIR = BIT0;


, так оптимальнее, хотя по сути то же самое.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
prinv
Вымогатель припоя
Сообщения: 677
Зарегистрирован: Чт янв 20, 2011 09:07:08
Откуда: Пермь
Контактная информация:

Re: TI MSP430 Launch Pad

Сообщение prinv »

Не соглашусь/
P1DIR |= BIT0 универсальнее, т.к. P1DIR = BIT0 подходит для конкретной ситуации и может быть не применимо в другой, потому что обнуляет биты, не связаные с BIT0
Никакая контра не уйдёт от нас
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: TI MSP430 Launch Pad

Сообщение YS »

P1DIR = BIT0 подходит для конкретной ситуации


Вот как раз именно для этой ситуации этот метод и подходит. Два в одном - и затираем ненужное, и устанавливаем бит. Не надо писать две строчки там, где можно обойтись одной.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
prinv
Вымогатель припоя
Сообщения: 677
Зарегистрирован: Чт янв 20, 2011 09:07:08
Откуда: Пермь
Контактная информация:

Re: TI MSP430 Launch Pad

Сообщение prinv »

Я считаю, что лучше не изменять те биты, которые не влияют на выполнение поставленной задачи.
Никакая контра не уйдёт от нас
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: TI MSP430 Launch Pad

Сообщение YS »

лучше не изменять те биты, которые не влияют на выполнение поставленной задачи.


В каждом участке кода надо использовать наиболее оптимальный подход.

Вот этот кусок

Код: Выделить всё

if (P1IN & BIT3) {
     P1OUT = BIT0;
    } else {
     P1OUT &= ~BIT0;
    }


лучше переписать так:

Код: Выделить всё

if (P1IN & BIT3) {
     P1OUT |= BIT0;
    } else {
     P1OUT &= ~BIT0;
    }


А на этапе инициализации проще как раз одним махом задать полное значение порта.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

Re: TI MSP430 Launch Pad

Сообщение DX168B »

YS писал(а):Вот мне на работе приходится ковырять PIC, так я плююсь от их даташитов после Atmel, ST и TI. :wink:

О дааа.... К примеру, даташит на PIC16F1825 мне на столько вынес мозг, на сколько не смогли бы даже текущая девушка с бывшей, вместе взятые. :)))
I am DX168B and this is my favourite forum on internet!
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: TI MSP430 Launch Pad

Сообщение HHIMERA »

DX168B писал(а):
YS писал(а):Вот мне на работе приходится ковырять PIC, так я плююсь от их даташитов после Atmel, ST и TI. :wink:

О дааа.... К примеру, даташит на PIC16F1825 мне на столько вынес мозг, на сколько не смогли бы даже текущая девушка с бывшей, вместе взятые. :)))

Ох уж эти сказочники!!! :)))
Даташит, как даташит... всё там ясно и понятно...
16-й он и в Африке 16-й... только с дополнительными инструкциями... и периферией...
А что вы, собственно, хотели... если малоногий чип напичкан... по самое не хочу???
Да по сравнению с ним... MSP430 и Атмега16 выглядят как погрызанные злыми собаками колобки!!! :)))
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

Re: TI MSP430 Launch Pad

Сообщение DX168B »

Мне почему-то даташит на STM32F407 куда более понятен, ежели на этот PIC. :)))
Скажите к примеру, почему я не могу вывести ШИМ канал Р2А на ногу RC5? И где делся бит P2ASEL?
Причем, вывод Р2В сконфигурирован и исправно работает на ноге RC4.
На этот вопрос мне не смог ответить даже представитель самого Микрочипа. :)))
Когда столкнешься подобными багами при некоторых обстоятельствах, тогда это тебе не покажется сказочками. :)))
I am DX168B and this is my favourite forum on internet!
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: TI MSP430 Launch Pad

Сообщение YS »

На этот вопрос мне не смог ответить даже представитель самого Микрочипа.


:)))

Чую, не зря я PIC не использую для себя. :))) Ну а на работе - там политика партии такая.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

Re: TI MSP430 Launch Pad

Сообщение DX168B »

Я как-то к PIC тоже не очень. Просто проект такой, под который только он и подходит. И тут такая бяка вышла. А без двух полумостовых модулей ШИМа никуда не деться. Сейчас надо разбираться, какая альтернативная функция заняла эту ногу. На мегах и АРМах все куда проще.
Ну, тот МК совсем новый и сырой еще. По этому и проблемы всплывают. У нас на работе в основном Меги и STMы. Ну и плисами немного балуемся.
I am DX168B and this is my favourite forum on internet!
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: TI MSP430 Launch Pad

Сообщение HHIMERA »

DX168B писал(а):Скажите к примеру, почему я не могу вывести ШИМ канал Р2А на ногу RC5? И где делся бит P2ASEL?

А если его нет... то что куда выводить??? :))
DS41440C-page 120
For this device family, the following
functions can be moved between different pins.
• RX/DT/TX/CK
• SDO1
• SS (Slave Select)
• T1G
• P1B/P1C/P1D/P2B
• CCP1/P1A/CCP2

На этот вопрос мне не смог ответить даже представитель самого Микрочипа. :)))

Это он из скромности... :))
Бывают ляпы и у Микрочипа в документации... и злокопипаст бывает... но в целом - всё дело просто в привычке...
"Я не даю готовых решений, я заставляю думать!"(С)
Ответить

Вернуться в «Разные вопросы по МК»