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

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


Местный
***

Группа: Участник
Сообщений: 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

Сообщений в этой теме
- Daria   MSP430 - снова вопросы от чайника   Jul 23 2008, 19:17
- - Daria   Такой вопрос - раньше работала только с положитель...   Dec 1 2008, 20:34
- - rezident   Daria, вспомните формулу прямой линии в аналитичес...   Dec 1 2008, 22:01
- - Daria   Нет, вопрос был не про калибровку калибровок у м...   Dec 4 2008, 20:54
|- - rezident   Цитата(Daria @ Dec 5 2008, 01:54) Максиму...   Dec 4 2008, 21:44
|- - Daria   Цитата(rezident @ Dec 5 2008, 00:44) Коэф...   Dec 5 2008, 21:16
|- - Daria   Такой вопрос - во время работы в отладчике происхо...   Dec 7 2008, 17:37
- - rezident   Какая версия IAR? Какие опции в дебаггере включены...   Dec 7 2008, 18:29
- - Daria   Здравствуйте. опять я Давненько меня здесь не бы...   Feb 28 2009, 19:42
|- - rezident   Цитата(Daria @ Mar 1 2009, 00:42) какой р...   Feb 28 2009, 20:17
|- - _3m   Цитата(Daria @ Feb 28 2009, 22:42) Такой ...   Mar 1 2009, 08:40
||- - Daria   Цитата(_3m @ Mar 1 2009, 11:40) Зачем вам...   Mar 1 2009, 10:56
|- - SSerge   Цитата(Daria @ Mar 1 2009, 01:42) И еще -...   Mar 1 2009, 12:36
|- - Daria   Цитата(SSerge @ Mar 1 2009, 15:36) Почти ...   Mar 1 2009, 16:05
- - Vladimir_T   У фирмы Bourns есть инкрементные оптические датчик...   Mar 1 2009, 18:49
|- - Daria   Цитата(Vladimir_T @ Mar 1 2009, 21:49) У ...   Mar 1 2009, 21:16
- - Vladimir_T   Католог "Мехатроники" нужно изучить. Но,...   Mar 3 2009, 17:32
|- - Daria   Цитата(Vladimir_T @ Mar 3 2009, 20:32) Сп...   Mar 3 2009, 18:44
- - SSerge   Вспомнил ещё про одно устройство. Сейчас (импортн...   Mar 3 2009, 21:07
|- - Daria   Цитата(SSerge @ Mar 4 2009, 00:07) Вспомн...   Mar 5 2009, 19:04
- - Kurt   Подозреваю, что если девушка собралась вращать сво...   Mar 4 2009, 04:21
- - Daria   Здравствуйте. снова я И опять глупые вопросы - как...   Apr 23 2009, 18:53
|- - rezident   Цитата(Daria @ Apr 24 2009, 00:53) Если п...   Apr 23 2009, 19:49
- - SSerge   Достаточно создать сам файл и написать #include ...   Apr 23 2009, 19:50
|- - Daria   Всем спасибо С файлами ясно, получилось, про кнопк...   Apr 24 2009, 18:36
- - Daria   А кто знает какой-нибудь JTAG - отладчик, внутрис...   Apr 27 2009, 17:43
|- - rezident   Цитата(Daria @ Apr 27 2009, 23:43) А кто ...   Apr 27 2009, 17:59
- - Daria   А вот J-Link( MT-Link) - разве не почти универсаль...   Apr 28 2009, 18:03
|- - rezident   Цитата(Daria @ Apr 29 2009, 00:03) А вот ...   Apr 28 2009, 18:15
- - Daria   Здравствуйте снова. Такой вопрос- Объявляю структу...   May 18 2009, 17:56
- - rezident   В объявлении Кодstruct RezhBuffer stPBuf; слово s...   May 18 2009, 20:44
|- - Daria   Цитата(rezident @ May 18 2009, 23:44) Нас...   May 19 2009, 17:17
|- - rezident   Цитата(Daria @ May 19 2009, 23:17) поясни...   May 19 2009, 20:45
- - Daria   Здравствуйте. Подскажите, в IAR действуют функции ...   May 26 2009, 18:38
|- - rezident   Цитата(Daria @ May 27 2009, 00:38) Здравс...   May 26 2009, 19:52
- - jorikdima   Цитата(rezident @ May 26 2009, 23:52) Дык...   May 27 2009, 06:12
|- - Daria   Цитата(jorikdima @ May 27 2009, 09:12) Да...   May 27 2009, 21:53
- - VAI   Я уже где-то выкладывал myprintf(), который сделал...   May 28 2009, 05:42
- - Daria   Блин, ну что за фигня - личный ящик заблокировали,...   Aug 8 2009, 13:23
|- - Daria   Модератор. Daria, Ваше сообщение я перенес в подоб...   Aug 10 2009, 16:42
- - Daria   Здравствуйте. Это снова я Устройство худо-бедно ...   Sep 24 2009, 18:11
- - rezident   Я уже запамятовал, а снова просматривать всю ветку...   Sep 24 2009, 19:56
- - Daria   Цитата(rezident @ Sep 24 2009, 23:56) Я у...   Sep 25 2009, 19:02
|- - Dog Pawlowa   Цитата(Daria @ Sep 25 2009, 22:02) Суперв...   Sep 25 2009, 20:16
|- - rezident   Цитата(Daria @ Sep 26 2009, 01:02) Суперв...   Sep 26 2009, 13:45
- - Allregia   Подскажите плиз - храню во влеше данных параметры,...   Oct 1 2009, 15:35
|- - rezident   Цитата(Allregia @ Oct 1 2009, 21:35) как ...   Oct 1 2009, 16:09
- - Allregia   Спасибо, достаточно было добавить #pragma requir...   Oct 4 2009, 08:45
- - rezident   Цитата(Allregia @ Oct 4 2009, 14:45) Спас...   Oct 4 2009, 17:27
- - Allregia   Цитата(rezident @ Oct 4 2009, 21:27) Не х...   Oct 18 2009, 21:38
3 страниц V  < 1 2 3


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

 


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


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