реклама на сайте
подробности

 
 
> MSP430 - снова вопросы от чайника, Вопросы от чайника про MSP и магнитный компас
Daria
сообщение Jul 23 2008, 19:17
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345



smile.gif Здравствуйте. Кто читал предыдущую мою тему "MSP430 - вопросы от чайника", тот поймет - это снова я biggrin.gif Тему закрыли, слишком долго висела. А вопрсов все больше. smile.gif
Если кому-то вдруг окажется не влом разбираться, то
Вот кусок проги:
int flag;//глобальные переменные
int cindex;
испульзуемые функции(write_flash - пишет число во flash, read_flash - считывает)
void write_flash(float* value, float *addr)
{ while(FCTL1 & BUSY);
_BIC_SR(GIE);
FCTL1 = FWKEY + ERASE;
FCTL3 = FWKEY;
*addr = 0;

while(FCTL1 & BUSY);
FCTL1 = FWKEY + WRT; for (int i=0;i<=3;i++)
{ *addr = value[i];
addr++;
}

_BIS_SR(GIE);
while(FCTL1 & BUSY);
FCTL1 = FWKEY;
FCTL3 = FWKEY + LOCK;
}

void read_flash(float* addr, float* pfO)
{
for (int i=0;i<=3;i++)
{ pfO[i]=*addr;
addr++;
}
}
Чего хочу сделать - Если присылаю 0, то должны считаться два показания с выводов P6.3 и P6.4, присылается 0хАА - т.е. "считалось", записываются первые элементы двух массивоы данных.
Когда набирается по четыре элемента, индекс сбрасывается
Если присылаю 0xFF, то должна выполнится функция calibrovka_hmc, если она выполняется неверно, то присылается 0хСС, иначе из flash считывается и присылается вычисленная с помощью этой функции константа.
Внутри функции main
ADC12CTL0 = ADC12ON + REFON + SHT0_8; //настройка АЦП
ADC12CTL1 = CSTARTADD0 + CSTARTADD1 + ADC12SSEL_1+ CONSEQ_1;
ADC12MCTL3 = INCH_3;
ADC12MCTL4 = INCH_4 + EOS;

float temp[4];
flag=0;
cindex=0;
for(;;)
{
for(delay = 0; delay <20000; delay++);
if( flag==0 )
{send_int(0x0);
}
if( flag==1 )
{

if (calibrovka_hmc(CVx, CVy, temp)==0)//calibrovka_hmc - имеет параметрами два массива и вычисляет четыре константы(нужные для калибровки устройства)

{
send_int(0xCC);
flag=0;
}
else
{
float pfO[4];
read_flash((float*)0x1000,pfO);
r=(int)(pfO[0]+0.5);
send_int®;
flag=0;
}

flag=4;
}

if (flag==2)
{
ADC12CTL0 |=ADC12SC + ENC; CVx[cindex] = ADC12MEM3; CVy[cindex] = ADC12MEM4;
ADC12CTL0 &= ENC;
cindex++;
send_int(0xAA);
flag=0;
}

if (cindex>3)
cindex=0;
}
}
#pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx ( void)
{
if( RXBUF0==0xFF)
flag = 1;
if (RXBUF0==0x0)
flag = 2;
}
В ЧЕМ ПРОБЛЕМА:
Перед выполнением калибровки присылаю элементы массива, полученного при считывании показаний с выводов, - оказывается, что в массив записываются по два-три раза одно значение, хотя этого не может быть. Соответственно, из-за этого не работает и все остальное crying.gif
Может, неправильно настроен АЦП? Или в чем может быть дело?
И, если кому-то вдруг не влом разбираться - функции записи во flash и чтения flash - можно ли сделать как-то поумнее?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Sep 26 2008, 15:33
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Ну вот она и ошибка. Первой командой инициализации USART должна быть установка бита SWRST, как это и указано в User's Guide. Вставьте в процедуру инициализации первой командой
Код
U0CTL = SWRST;

А дальше по вашему тексту.
Код
    U0CTL |= CHAR;                    // 8-bit character
    U0TCTL = SSEL0;                    // UCLK = ACLK
    U0BR0 = 0xA0;                    // 8.00Mhz 19200 bps (416)
    U0BR1 = 0x01;
    U0MCTL = 0x00;                    // no modulation
    ME1 |= UTXE0 | URXE0;            // Enable USART0 TXD/RXD
    U0CTL &= ~SWRST;
    IE1 |= URXIE0;
и все лишние нули пропадут.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Daria
сообщение Sep 29 2008, 19:16
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345



Цитата(rezident @ Sep 26 2008, 19:33) *
Ну вот она и ошибка. Первой командой инициализации USART должна быть установка бита SWRST, как это и указано в User's Guide. Вставьте в процедуру инициализации первой командой
Код
U0CTL = SWRST;

не-а, не помогло smile.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Daria   MSP430 - снова вопросы от чайника   Jul 23 2008, 19:17
- - rezident   Некоторое (продолжительное) время не заглядывал в ...   Jul 23 2008, 22:03
|- - Daria   Ага, все же заглянули спасибо за комментарии и кр...   Jul 24 2008, 19:29
|- - =DS=   Цитата(Daria @ Jul 24 2008, 23:29) А по п...   Jul 25 2008, 03:03
|- - Daria   Цитата(=DS= @ Jul 25 2008, 07:03) *addr ...   Jul 25 2008, 18:27
|- - rezident   Цитата(Daria @ Jul 26 2008, 00:27) а к...   Jul 25 2008, 19:47
|- - Daria   И версии, и настройки. А кикстарт - потому что сн...   Jul 25 2008, 21:05
|- - rezident   Цитата(Daria @ Jul 26 2008, 03:05) И верс...   Jul 25 2008, 21:38
||- - Daria   Цитата(rezident @ Jul 26 2008, 01:38) Ну ...   Jul 26 2008, 12:38
||- - rezident   Цитата(Daria @ Jul 26 2008, 18:38) rezide...   Jul 26 2008, 12:58
||- - Daria   Так вот. Галочка стоит. А состояние переменных все...   Jul 28 2008, 20:14
||- - rezident   Цитата(Daria @ Jul 29 2008, 02:14) Так во...   Jul 28 2008, 23:05
||- - Daria   Цитата(rezident @ Jul 29 2008, 03:05) Ну ...   Jul 30 2008, 19:31
||- - Daria   Здравствуйте, снова я Цитата(rezident @ Jul...   Aug 7 2008, 20:43
||- - rezident   Цитата(Daria @ Aug 8 2008, 02:43) ЗКак бы...   Aug 8 2008, 01:29
||- - Daria   Цитата(rezident @ Aug 8 2008, 05:29) Можн...   Aug 8 2008, 20:28
||- - rezident   Цитата(Daria @ Aug 9 2008, 02:28) а вот п...   Aug 9 2008, 01:10
||- - Daria   Цитата(rezident @ Aug 9 2008, 05:10) Коли...   Aug 9 2008, 20:42
||- - rezident   Цитата(Daria @ Aug 10 2008, 02:42) Ну и п...   Aug 9 2008, 22:10
||- - Daria   Так. Ну вот, как-то не выходит ничего Если в пре...   Aug 11 2008, 20:19
||- - Dog Pawlowa   Цитата(Daria @ Aug 11 2008, 23:19) Как бы...   Aug 12 2008, 06:14
||- - Daria   Цитата(Dog Pawlowa @ Aug 12 2008, 10:14) ...   Aug 12 2008, 19:55
|- - =DS=   Цитата(Daria @ Jul 26 2008, 01:05) Дебагг...   Jul 25 2008, 21:40
- - Т.Достоевский   Может так? Код#pragma vector=ADC_VECTOR { if ...   Aug 11 2008, 21:52
- - rezident   Все дело в том, что вы маски неверно накладываете....   Aug 11 2008, 23:19
- - rezident   Daria, извините за откровенность, но у вас какой-т...   Aug 12 2008, 23:30
|- - Daria   Цитата(rezident @ Aug 13 2008, 03:30) Re...   Aug 13 2008, 17:06
|- - rezident   Цитата(Daria @ Aug 13 2008, 23:06) Но - з...   Aug 13 2008, 18:19
||- - Daria   Цитата(rezident @ Aug 13 2008, 22:19) Яс...   Aug 13 2008, 19:59
|- - zhevak   Ух-х, какие крутые виражи! Ух, как человека мы...   Aug 14 2008, 08:09
|- - Daria   Цитата(zhevak @ Aug 14 2008, 12:09) Rezid...   Aug 14 2008, 20:47
|- - rezident   Цитата(Daria @ Aug 15 2008, 02:47) Rezide...   Aug 14 2008, 21:01
|- - Daria   Ага, будем считать с буфером приема разобрались ...   Aug 17 2008, 11:13
|- - zhevak   О-хо-хо... Ну да ладно! Даша, я предполагаю, ...   Aug 17 2008, 14:49
|- - rezident   Цитата(Daria @ Aug 17 2008, 17:13) Запись...   Aug 17 2008, 15:09
|- - zhevak   Цитата(rezident @ Aug 17 2008, 21:09) Изв...   Aug 17 2008, 15:51
|- - rezident   Цитата(zhevak @ Aug 17 2008, 21:51) Не, н...   Aug 17 2008, 15:56
|- - zhevak   Цитата(rezident @ Aug 17 2008, 21:56) Да ...   Aug 17 2008, 16:38
|- - Daria   Да-а-а утром отправляю вопрос, иде себе спокойне...   Aug 17 2008, 20:49
|- - Daria   здравствуйте снова. Такой вопрос - во время работ...   Aug 19 2008, 17:42
|- - rezident   Цитата(Daria @ Aug 19 2008, 23:42) можно ...   Aug 19 2008, 21:40
|- - Daria   Цитата(rezident @ Aug 20 2008, 01:40) А т...   Aug 20 2008, 18:20
|- - Daria   Здравствуйте. rezident, по поводу примера буфера п...   Aug 21 2008, 18:01
|- - rezident   Цитата(Daria @ Aug 22 2008, 00:01) для че...   Aug 21 2008, 21:19
|- - Daria   Как всегда - большое спасибо! про выравниван...   Aug 24 2008, 17:36
|- - Daria   Здравствуйте снова. Вот опять вопросы_ Делаю усред...   Aug 29 2008, 18:53
|- - rezident   Цитата(Daria @ Aug 30 2008, 00:53) Делаю ...   Aug 29 2008, 20:16
|- - Daria   Да знаю я, знаю, что долго сидеть в прерывании нех...   Aug 30 2008, 18:33
|- - rezident   Цитата(Daria @ Aug 31 2008, 00:33) Да зна...   Aug 30 2008, 21:04
|- - Daria   Цитата(rezident @ Aug 31 2008, 01:04) Ест...   Aug 31 2008, 16:48
|- - rezident   Цитата(Daria @ Aug 31 2008, 22:48) Нужно....   Aug 31 2008, 18:39
|- - Daria   Цитата(rezident @ Aug 31 2008, 22:39) В п...   Aug 31 2008, 20:29
|- - Daria   Ну вот, отпуск кончился, пошли суровые будни И в...   Sep 12 2008, 18:04
|- - rezident   Цитата(Daria @ Sep 13 2008, 00:04) Вот та...   Sep 12 2008, 18:27
||- - Daria   Цитата(rezident @ Sep 12 2008, 22:27) re...   Sep 18 2008, 13:34
||- - Daria   Здравствуйте. Такие вопросы - сейчас я прошиваю ...   Sep 23 2008, 18:33
||- - rezident   Цитата(Daria @ Sep 24 2008, 00:33) В даль...   Sep 23 2008, 19:56
|||- - Daria   Ага, но мне, как пока неквалифицированному програм...   Sep 23 2008, 20:12
|||- - rezident   Цитата(Daria @ Sep 24 2008, 02:12) Значит...   Sep 23 2008, 20:47
|||- - Daria   Цитата(rezident @ Sep 24 2008, 00:47) Для...   Sep 23 2008, 20:56
|||- - rezident   Цитата(Daria @ Sep 24 2008, 02:56) А UIF ...   Sep 23 2008, 21:35
|||- - Сергей Борщ   Цитата(Daria @ Sep 23 2008, 23:56) Как-то...   Sep 23 2008, 21:52
|||- - Daria   Цитата(Сергей Борщ @ Sep 24 2008, 01:52) ...   Sep 24 2008, 17:18
||- - Сергей Борщ   Цитата(Daria @ Sep 23 2008, 21:33) мне ск...   Sep 23 2008, 20:01
||- - LCD   Цитата(Daria @ Sep 23 2008, 22:33) Не под...   Sep 24 2008, 19:14
|- - MrYuran   Цитата(Daria @ Sep 12 2008, 22:04) Как бы...   Sep 13 2008, 10:53
|- - rezident   Цитата(MrYuran @ Sep 13 2008, 16:53) И с ...   Sep 13 2008, 16:48
|- - MrYuran   Цитата(rezident @ Sep 13 2008, 20:48) А в...   Sep 13 2008, 17:31
|- - Сергей Борщ   Цитата(rezident @ Sep 13 2008, 19:48) А в...   Sep 13 2008, 18:20
|- - rezident   Цитата(MrYuran @ Sep 13 2008, 23:31) А во...   Sep 13 2008, 20:13
|- - AHTOXA   Цитата(rezident @ Sep 14 2008, 02:13) При...   Sep 15 2008, 17:38
- - Kurt   2rezident: я восхищен силой вашего воображения ))   Aug 13 2008, 04:41
|- - _3m   Цитата(Kurt @ Aug 13 2008, 08:41) 2rezide...   Aug 13 2008, 06:34
- - rezident   Я не вижу функции инициализации UART, но попробуйт...   Sep 24 2008, 18:12
|- - Daria   Цитата(rezident @ Sep 24 2008, 22:12) Я н...   Sep 25 2008, 18:43
|- - rezident   Цитата(Daria @ Sep 26 2008, 00:43) Ну, те...   Sep 25 2008, 19:30
|- - Daria   Цитата(rezident @ Sep 25 2008, 23:30) Пок...   Sep 26 2008, 15:21
- - VAI   ЦитатаКварц, кстати, подходящий нашла у Murata - C...   Sep 25 2008, 06:57
|- - rezident   Цитата(Daria @ Sep 30 2008, 01:16) не-а, ...   Sep 29 2008, 20:23
|- - Daria   Цитата(rezident @ Sep 30 2008, 00:23) Дел...   Sep 30 2008, 19:00
|- - rezident   Цитата(Daria @ Oct 1 2008, 01:00) NData -...   Sep 30 2008, 19:49
|- - Daria   Кодtypedef struct CharBuffer { unsigned char* Dat...   Sep 30 2008, 20:26
|- - rezident   Цитата(Daria @ Oct 1 2008, 02:26) но так ...   Sep 30 2008, 23:05
|- - Daria   Цитата(rezident @ Oct 1 2008, 03:05) Поче...   Oct 1 2008, 18:23
|- - rezident   Цитата(Daria @ Oct 2 2008, 00:23) Да, но ...   Oct 1 2008, 19:34
|- - Daria   Цитата(rezident @ Oct 1 2008, 23:34) Если...   Oct 2 2008, 19:37
- - VAI   Кстати, по уартам, я как-то выкладывал свои исходн...   Oct 3 2008, 01:12
- - Daria   Цитата(VAI @ Oct 3 2008, 05:12) Кстати, п...   Oct 4 2008, 17:01
- - Daria   Опять я теперь нужен еще буфер - для АЦП. посмот...   Oct 5 2008, 15:42
- - Daria   И еще Мне нужно обмениваться с двумя устройствам...   Oct 5 2008, 19:35
- - Dog Pawlowa   Цитата(Daria @ Oct 5 2008, 22:35) И еще ...   Oct 6 2008, 06:04
- - Daria   Цитата(Dog Pawlowa @ Oct 6 2008, 10:04) О...   Oct 6 2008, 17:45
- - rezident   Цитата(Daria @ Oct 6 2008, 23:45) одно ус...   Oct 6 2008, 19:04
- - Daria   Цитата(rezident @ Oct 6 2008, 23:04) Личн...   Oct 7 2008, 17:09
- - rezident   Цитата(Daria @ Oct 7 2008, 23:09) Ага, а ...   Oct 7 2008, 17:41
- - Daria   Цитата(rezident @ Oct 7 2008, 21:41) В IA...   Oct 7 2008, 18:12
- - rezident   Цитата(Daria @ Oct 8 2008, 00:12) Все же ...   Oct 7 2008, 19:07
- - Daria   Цитата(rezident @ Oct 7 2008, 23:07) Либо...   Oct 10 2008, 20:23
3 страниц V   1 2 3 >


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 22:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01619 секунд с 7
ELECTRONIX ©2004-2016