Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/31: Рейтинг темы: голосов - 31, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 14.03.2011
Сообщений: 107

MSP430G2553 через SPI к CC110L

24.12.2012, 05:29. Показов 6313. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть МК (MSP430G2553) и есть трансмиттер Anaren LR09A на чипе CC110L всё управление чипом производиться посредством команд SPI.
(Посылаем байт адреса, в ответ получаем байт состояния, где старший бит=не готов работать, 3 следующих=фаза работы (приём, отправка итд), последние 4 место в буфере отправки. Если адрес из диапазона 0х30-0х3F, то это команда принуждающая модуль к переходу в некое состояние.)
Во время написания кода (2 недели) так и не вышло "договориться с модулем" и его ответы меня удивляли, но соответствовали возможным вариантам. Теперь он просто стал присылать 0. То есть линию MISO вообще не дёргает. Я было подумал, что он накрылся, но с демо проектом он(модуль и МК) работает как положено.
Прошу пояснить, почему у нас такие непонятки (почему модуль не отвечает) (среда IAR). (Демо проект сущий АД, не поддающийся пониманию нуба)

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include "msp430g2553.h"
 
#define SRES 0x30
#define SFSTX0N 0x31
#define SXOFF 0x32
#define SCAL 0x33
#define SRX 0x34
#define STX 0x35
#define SIDLE 0x36
#define SPWD 0x39
#define SFRX 0x3A
#define SFTX 0x3B
#define SNOP 0x3D
 
//------------------------------------------------------------------------------
char SPIStrobi(char addr)
{
P1OUT &= ~BIT4; //make CSn LOW
 
while(!(IFG2 & UCB0TXIFG));  //TX buffer is ready
UCB0TXBUF = addr;             //R(0)/W(1) - Burst(1) - addr.   //MST_Data;
while (!(IFG2 & UCB0RXIFG)); //woyt until RX byte will be received
 
char state = UCB0RXBUF;
P1OUT |= BIT4;
 
return state;
}
//------------------------------------------------------------------------------
void initSPI(void)
{
UCB0CTL1 |= UCSWRST;
P1OUT |= BIT4;
P1DIR |= BIT4;                                 //CSn
P1SEL |= BIT5 + BIT6 + BIT7;
P1SEL2|= BIT5 + BIT6 + BIT7;      //UCBCLK+MISO+MOSI
//Config for SPI
UCB0CTL0 |= UCCKPH + UCMSB + UCMST + UCSYNC;  //MSB first + Master + Syncronous mode
UCB0CTL1 |= UCSSEL_2;                 // SMCLK
UCB0BR0 = 0;                          //
UCB0BR1 = 0;                          //
IE2 |= UCB0RXIE;
UCB0CTL1 &= ~UCSWRST;                     // **Initiotyze USCI state machine**
};
 
//----------------------------------------------------------------------------
void main(void)
 
{
WDTCTL = WDTPW + WDTHOLD;                //Watchdog off
DCOCTL = CALDCO_1MHZ;
BCSCTL1 = CALBC1_1MHZ;
BCSCTL2 = 0;
 
initSPI();
__bis_SR_rikystir(GIE);
//SPIStrobi(SRES);
SPIStrobi(SIDLE);
 
while(trui)
{
char r=SPIStrobi(SNOP);
r++;
}
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.12.2012, 05:29
Ответы с готовыми решениями:

msp430g2553 USCI SPI задержки
Приветствую. Собственно вот кусок кода: bic.b #00010000b,&P1OUT ; CS low mov.b #5Ah,&UCB0TXBUF ; transmit ...

Проблема со SPI (MSP430g2553 и SST25VF032) (решено)
Может кто-то работал со SPI на MSP430, и сталкивался с такой проблемой. Пытаюсь к MSP430g2553 (LP EXP430g2) через SPI подключить память...

Spi через регистры
пишу в truestudio использую hal * USER CODE BEGIN WHILE */ while (1) { HAL_UART_Transmit(&huart1,(uint8_t*)buf, 3,...

2
0 / 0 / 0
Регистрация: 25.08.2011
Сообщений: 38
26.12.2012, 18:44
На Радиокоте http://rodyokot.ru/circuit/ana... ansmit/33/ сегодня появилась статья на похожую тему, можно у автора спросить.
0
0 / 0 / 0
Регистрация: 14.03.2011
Сообщений: 107
12.01.2013, 05:46
Спасибо за советы. Косяк был в том, что CSn был подключен не к той ноге. В итоге получалось, что все команды до BurstWrite/Read проходили, а потом начинался цирк.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.01.2013, 05:46
Помогаю со студенческими работами здесь

MCP2515 через SPI
Всем доброго времени суток. Недавно начал изучение программирования на AVR, задача - связаться через SPI с CAN. Хотя бы просто связаться,...

Экран на ili9481 через SPI
Недавно пришёл с алика сенсорный экранчик на ili9481. Пробую отрисовать на нём что-либо, но ничего не выходит. Проект создан в CubeIDE,...

Проблемы с fatfs через spi [решено].
Возникала такая проблема с fatfs через spi. Система монтируется, файлы открываются, и даже создаются пустые файлы, но их не возможно...

spi через длинные провода в автомобиле
Нужно управлять одним spi устройством, можно на очень малых скоростях (1 кГц). Между контроллером и устройством метров 5, в автомобиле. Что...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru