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

 
 
> Для "Peps" и остальных кто пользуется ЕАТ - исправления.
CADiLO
сообщение Mar 9 2011, 07:11
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



Simcom ответил на запрос согласно вот этого:

1. possibly error in libraries SIM900DevIDE - procedure of interrupt trap from signals
UART EVENT_SERIALSTATUS in manual,
and EVENT_SERAILSTATUS in fl_appinit.h.

2. In a document SIM900_Embedded AT Application Note_V1_0.pdf page 34 possibly error.
A "Type" is written FlTriggerType , in libraries this type is described as FlGpioTriggerType.

3. interrupt does not work from GPIO


новая версия фирмваре выложена - http://microchip.ua/temp/coresw3.rar
Документацию заменю на сайте по приходу новых версий.


Вот дословно ответ:

Thanks for your interest for our Embedded AT.

1 > For the spelling in our code “fl_appinit.h”, it is a mistake. However it will not affect the running of our program. You can use it
2 > We will change the doc accordingly.
3 > For question3, please test beat version.




--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
6 страниц V  « < 3 4 5 6 >  
Start new topic
Ответов (60 - 74)
west329_
сообщение Dec 26 2011, 11:22
Сообщение #61


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Поставил новый компилятор. Все собирается отлично.

version1 не забываем править.

Вопрос по поводу заливки прошивки остался открытый вопрос. Софт отказывается заливатся через загрузчик. Куда рыть даже не догадываюсь. Пробовал из под ВинХп пишет тоже самое.

Схемотехнически распаял обычный мост на MAX3232 между SIM900 и PC, в линиях ТХ RХ стоят резисторы на 100 ом.

Все больше ничего не напаивал.

Как зашиваю. Включаю программу, выбираю ядро и приложение нажимаю СТАРТ ЗАГРУЗКИ, и зажимаю ПОВКЕЙ кратковременно, как бы начинается процесс загрузки, но после 4х пунктов вываливается с ошибкой.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
west329_
сообщение Dec 26 2011, 14:41
Сообщение #62


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Цитата
Такой вопрос. А обновлять прошивку случайно нужно не через ДЕБАГ порт ???


В общем можно та и так без разницы.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Dec 27 2011, 07:14
Сообщение #63


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



>>>нажимаю СТАРТ ЗАГРУЗКИ, и зажимаю ПОВКЕЙ кратковременно

поверкей коротим на землю - до конца загрузки

нажимаем старт

и только потом подаем питание.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
Цырен.
сообщение Jan 11 2012, 06:47
Сообщение #64


Евгений
***

Группа: Участник
Сообщений: 341
Регистрация: 13-10-11
Пользователь №: 67 706



Есть новость. В EAT для SIM900 добавили две важные функции DTMF декодирование и Jumming Detection. Пока реализованы в бета версии прошивки. Спрашивайте ее у ваших дистрибюторов.
Кстати, в параллельной ветке уже писал - в SIM908(GSM+GPS) тоже теперь есть EAT с DTMF и JD.

Сообщение отредактировал Цырен. - Jan 11 2012, 06:47


--------------------
Go to the top of the page
 
+Quote Post
SERG33
сообщение Mar 22 2012, 10:11
Сообщение #65





Группа: Новичок
Сообщений: 2
Регистрация: 17-03-12
Пользователь №: 70 858



Подскажите пожалуйста где можно скачать сам АРМ компилятор ?
Сам RVCT собственно.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Mar 22 2012, 10:36
Сообщение #66


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



Неужели так трудно написать письмо региональному официальному дистрибьютору, ответить на пару вопросов и получить программу ?


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
Romashki
сообщение May 3 2012, 18:26
Сообщение #67


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 5-12-10
Пользователь №: 61 419



Подскажите по SPI в SIM900 c EAT. Не могу подружить SIM900 с SST25VF016B. Выводы подключены к ногам 11,12,13,14 модуля.
Настройки модуля ebdat5_01SpiConfigure(SSI_4WIRE, SSI_ACTIVE_LOW, FL_PIN_14, SSI_SYSTEM_DIV_2, SSI_FALLING_EDGE, SSI_MSBFIRST);
Не получается даже тип SST25VF016B считать. Вот функция:

void select_end_mem(void)
{
u8 bfur[4],i;
u32 end_of_mem=0;

#ifdef VS_DEBUG
u8 buff_for_sms[]="End of memory 0x0FFFFF";//22(17)
#endif

ebdat5_02SpiWriteByte(0x9F);
for(i=0;i<3;i++)bfur[i]=ebdat5_03SpiReadByte();

if(bfur[2]==0x41)end_of_mem=0x1FFFFF;
else if(bfur[1]==0x4A)end_of_mem=0x3FFFFF;
else end_of_mem=0;


#ifdef VS_DEBUG

if(end_of_mem==0x1FFFFF)buff_for_sms[16]='1';
else if(end_of_mem==0x3FFFFF)buff_for_sms[16]='3';
else {buff_for_sms[17]='0';buff_for_sms[18]='0';buff_for_sms[19]='0';
buff_for_sms[20]='0';buff_for_sms[21]='0';}

ebdat7_01DebugTrace((const char*)"\r\n");
ebdat7_02DebugUartSend(buff_for_sms, 22);
ebdat7_01DebugTrace((const char*)"\r\n");

#endif
}
В порт выдает End of memory 0x000000
Примерно понимаю, что что-то не так с ногой CHIP SELECT, поскольку функции ebdat5_02SpiWriteByte и ebdat5_03SpiReadByte её дергают постоянно, а нужно только перед ebdat5_02SpiWriteByte и после третьего ebdat5_03SpiReadByte. Но как это сделать - не знаю. Может кто подскажет? Или товарищи из SIMCOMa подскажут....
Go to the top of the page
 
+Quote Post
GeGeL
сообщение May 3 2012, 20:37
Сообщение #68


Местный
***

Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682



Цитата(CADiLO @ Mar 22 2012, 14:36) *
Неужели так трудно написать письмо региональному официальному дистрибьютору, ответить на пару вопросов и получить программу ?

Такой раздельный вызов функций Write и Read естественно, приводит к тому, что по окончанию записи или чтения байта CS будет снят, что недопустимо для вашего протокола.
Обычно SPI трехпооводный и одновременно отправляет и читает байт. Я не знаком с реализацией SPI в EAT, но в OCPU софтово реализовна функция, которая пишет и одновременно читает заданное количество байт. Т.о. пишем три байта (первый - команда, остальные - неважно), одновременно читаем тоже три (первый - неважно, остальные два - ответ).
Go to the top of the page
 
+Quote Post
Romashki
сообщение May 11 2012, 16:11
Сообщение #69


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 5-12-10
Пользователь №: 61 419



Эдуард, может Вы подскажете, как это побороть?
Очень благодарен буду.
Go to the top of the page
 
+Quote Post
Цырен.
сообщение May 12 2012, 11:25
Сообщение #70


Евгений
***

Группа: Участник
Сообщений: 341
Регистрация: 13-10-11
Пользователь №: 67 706



Цитата(Romashki @ May 11 2012, 20:11) *
Эдуард, может Вы подскажете, как это побороть?
Очень благодарен буду.


А если так?

u8 Buf[4] = {0x9F,0x00,0x00,0x00};

for(i=0;i<4;i++)
{
ebdat5_02SpiWriteByte(Buf[i]); - шлем
Buf[i] = ebdat5_03SpiReadByte(); - читаем
}


Как вариант - возьмите осцил и подключитесь в MOSI, MISO и CLK. Посмотрите есть ли клоки при ebdat5_03SpiReadByte() и данные от слэйва по линии MISO.

Сообщение отредактировал Цырен. - May 12 2012, 11:26


--------------------
Go to the top of the page
 
+Quote Post
Romashki
сообщение May 12 2012, 13:06
Сообщение #71


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 5-12-10
Пользователь №: 61 419



Дело в том что SIM900 после каждой команды ebdat5_02SpiWriteByte убирает сигнал CS, а SST такого не понимает. Т.е. идеально было бы, чтоб пользователь мог говорить например ebdat5_02SpiWriteByte(Buf[i], 1); - это значит активировать CS, а ebdat5_02SpiWriteByte(Buf[i], 0); - деактивировать. И на чтение - также.
Тогда бы все наверное получилось бы:

ebdat5_02SpiWriteByte(0x9F,1); - шлем
for(i=0;i<4;i++)
{
if(i<3)Buf[i] = ebdat5_03SpiReadByte(1); - читаем
else Buf[i] = ebdat5_03SpiReadByte(0); - читаем
}

Сообщение отредактировал Romashki - May 12 2012, 13:07
Go to the top of the page
 
+Quote Post
GeGeL
сообщение May 13 2012, 05:20
Сообщение #72


Местный
***

Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682



Идеально было бы китайцам донести необходимость команды SpiWriteBuffer(char* cmdbuf, char* ansbuf, int len).
А реализованная SpiWriteByte по большому счету вообще бесполезна.

PS: альтернативой есть написать самому даную функцию (абсолютно ничего сложного), используя стандартные функции управления ножками модуля. Конечно, будет на порядок медленней обмен, но хоть как...

Сообщение отредактировал GeGeL - May 13 2012, 05:30
Go to the top of the page
 
+Quote Post
Romashki
сообщение May 13 2012, 08:42
Сообщение #73


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 5-12-10
Пользователь №: 61 419



Цитата(GeGeL @ May 13 2012, 08:20) *
PS: альтернативой есть написать самому даную функцию (абсолютно ничего сложного), используя стандартные функции управления ножками модуля. Конечно, будет на порядок медленней обмен, но хоть как...


Пытаюсь это сделать....знать бы сколько выполняется команда по установке ноги в 1 или 0 ... или это нельзя определить?
Go to the top of the page
 
+Quote Post
GeGeL
сообщение May 13 2012, 14:22
Сообщение #74


Местный
***

Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682



Можно: засеките системное время, затем в цикле дерните ногу туда-сюда раз тысячу, затем снова время.
Кутел так делает в некоторых своих примерах для демонстрации преимуществ использования API-функций перед АТ-командами.
Напишите потом результат, интересно...
Go to the top of the page
 
+Quote Post
Romashki
сообщение May 13 2012, 16:10
Сообщение #75


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 5-12-10
Пользователь №: 61 419



системным временем не получилось (там секунды наименьшее значение), сделал тиками. Один тик = 9,23 миллисекунды.
На 1000 не меняется, пришлось 10000 поставить:

SysTick1 = ebdat8_08GetSystemTickCounter( );

for(tm=0;tm<10000;tm++)
{
if(ebdat6_04WriteGpio(EEPROM_SELECT,s)==FL_OK)tms++;
s=(~s);
}

SysTick2 = ebdat8_08GetSystemTickCounter( );

ebdat7_01DebugTrace("\r\nsystem time is : %d",SysTick1);
ebdat7_01DebugTrace("\r\nsystem time is : %d",SysTick2);
ebdat7_01DebugTrace("\r\ncounter is : %d",tms);

Вот ответ:


system time is : 774[0D][0A]
system time is : 778[0D][0A]
counter is : 5000

Ориентировочно один раз проходит примерно за 4 микросекунды.... но вот почему счетчик правильных ответов ровно в половину меньше???
Go to the top of the page
 
+Quote Post

6 страниц V  « < 3 4 5 6 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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