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

MSP430G2553 через SPI к CC110L

24.12.2012, 05:29. Показов 6378. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru