Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2018-сен-24 14:03

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 54 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Примеры программ.
СообщениеДобавлено: 2011-дек-23 13:06 
Не в сети

Зарегистрирован: 2010-июл-08 08:50
Сообщения: 734
Откуда: АО "ПКК Миландр"
Демонстрационные программы для контроллера.
В дальнейшем планируется добавлять примеры программ.


Вложения:
Комментарий к файлу: Версия от 23.12.2011
DemoProgramms.rar [3.83 МБ]
Скачиваний: 1144
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Примеры программ.
СообщениеДобавлено: 2012-янв-24 09:45 
Не в сети

Зарегистрирован: 2010-июл-08 08:50
Сообщения: 734
Откуда: АО "ПКК Миландр"
Подправленные примеры программ, в которых используется PLL и кварцевый генератор 25 МГц. (Программы с использованием кварцевого резонатора и генератора без включения PLL не изменялись).


Вложения:
Examples_for_1986VE1_24_01_2012.rar [3.98 МБ]
Скачиваний: 905
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: проект SysTickProject
СообщениеДобавлено: 2012-янв-31 10:02 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 666
Откуда: г. Санкт-Петербург
Уважаемые авторы проекта SysTickProject, подскажите пожалуйста назначение 4 строки функции main
NVIC_EnableIRQ(SysTick_IRQn);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Примеры программ.
СообщениеДобавлено: 2012-янв-31 10:37 
Не в сети

Зарегистрирован: 2010-июл-08 08:50
Сообщения: 734
Откуда: АО "ПКК Миландр"
vasili писал(а):
Уважаемые авторы проекта SysTickProject, подскажите пожалуйста назначение 4 строки функции main
NVIC_EnableIRQ(SysTick_IRQn);


Это разрешение прерывания от системного таймера SysTick.
Хотя....
Она лишняя. С помощью этой функции разрешаются только периферийные прерывания. В случае с SysTick (если разрешено прерывание от него), оно происходит независимо от установленных битов регистра ISER (адрес 0xE000E100).
Спасибо за замечание, исправим.


Последний раз редактировалось Petr 2012-янв-31 11:12, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: проект SysTickProject
СообщениеДобавлено: 2012-янв-31 11:11 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 666
Откуда: г. Санкт-Петербург
Прерывания от SysTick разрешаются в функции SysTickInit()
SysTick->CTRL = 0x00000003; //Enabel SysTick, Enable Interrupt

При выполнении команды NVIC_EnableIRQ(SysTick_IRQn);

29: NVIC_EnableIRQ(SysTick_IRQn);
0x0000022A BF00 NOP
1524: NVIC->ISER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* enable interrupt */
0x0000022C 201F MOVS r0,#0x1F
0x0000022E 4601 MOV r1,r0
0x00000230 2001 MOVS r0,#0x01
0x00000232 4088 LSLS r0,r0,r1
0x00000234 2100 MOVS r1,#0x00
0x00000236 43C9 MVNS r1,r1,r1
0x00000238 0949 LSRS r1,r1,#5
0x0000023A 0089 LSLS r1,r1,#2
0x0000023C 4A12 LDR r2,[pc,#72] ; @0x00000288
0x0000023E 1889 ADDS r1,r1,r2
0x00000240 6008 STR r0,[r1,#0x00]
1525: }

происходит запись значения 0x80000000 адресу 0x0000e0fc. Зачем это делается?

Если команду убрать, программа все равно работает.


Последний раз редактировалось vasili 2012-янв-31 11:14, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Примеры программ.
СообщениеДобавлено: 2012-янв-31 11:14 
Не в сети

Зарегистрирован: 2010-июл-08 08:50
Сообщения: 734
Откуда: АО "ПКК Миландр"
Как уже сказал:
Petr писал(а):
vasili писал(а):
Уважаемые авторы проекта SysTickProject, подскажите пожалуйста назначение 4 строки функции main
NVIC_EnableIRQ(SysTick_IRQn);


Это разрешение прерывания от системного таймера SysTick.
Хотя....
Она лишняя. С помощью этой функции разрешаются только периферийные прерывания. В случае с SysTick (если разрешено прерывание от него), оно происходит независимо от установленных битов регистра ISER (адрес 0xE000E100).
Спасибо за замечание, исправим.


Еще раз благодарю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Примеры программ.
СообщениеДобавлено: 2012-янв-31 11:47 
Не в сети

Зарегистрирован: 2010-июл-08 08:50
Сообщения: 734
Откуда: АО "ПКК Миландр"
Новая редакция демопрограмм.
В примерах, где используется системный таймер, удален вызов функции NVIC_EnableIRQ(SysTick_IRQn).
Лишняя функция, так как NVIC_EnableIRQ() используется только для разрешения периферийных прерываний.


Вложения:
Examples_for_1986VE1_31_01_2012.rar [3.92 МБ]
Скачиваний: 612
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Примеры программ.
СообщениеДобавлено: 2012-фев-01 09:24 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 666
Откуда: г. Санкт-Петербург
В проекте SysTickProject немного изменил цикл while в функции main:

int ft=0;
int i;
int CurrentLed = 0;
int main()
{
ClkConfig();
PortConfig();
SysTickInit();
// EEPROM->CMD = 0;
while(1)
{
if(ft) i = 0;
else i = 1;
}
}

при этом длительность импульсов на светодиодах стала примерно 124 мс, вставил команду EEPROM->CMD = 0;-
длительность восстановилась до 100мс.
Это пример для наглядности эффекта, а вообще пробовал на разных частотах и длительностях - эффект проявляется (при разных значениях EEPROM->CMD разные отклонения длительностей от заданнонго). Такое впечатление, что частота SysTick зависит не только от частоты ядра. Чем это можно объяснить и как с этим бороться?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Примеры программ.
СообщениеДобавлено: 2012-фев-01 14:42 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
vasili писал(а):
В проекте SysTickProject немного изменил цикл while в функции main:

int ft=0;
int i;
int CurrentLed = 0;
int main()
{
ClkConfig();
PortConfig();
SysTickInit();
// EEPROM->CMD = 0;
while(1)
{
if(ft) i = 0;
else i = 1;
}
}

при этом длительность импульсов на светодиодах стала примерно 124 мс, вставил команду EEPROM->CMD = 0;-
длительность восстановилась до 100мс.
Это пример для наглядности эффекта, а вообще пробовал на разных частотах и длительностях - эффект проявляется (при разных значениях EEPROM->CMD разные отклонения длительностей от заданнонго). Такое впечатление, что частота SysTick зависит не только от частоты ядра. Чем это можно объяснить и как с этим бороться?

При EEPROM->CMD не равном нулю ничего добиться не удасться, так как ядро на время выборки команды останавливается соответственно останавливается и системный таймер. Можно пользоваться в этом случае другими таймера.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Примеры программ.
СообщениеДобавлено: 2012-фев-01 14:52 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 666
Откуда: г. Санкт-Петербург
Спасибо за ответ, неплохо бы его отразить в описании.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Примеры программ.
СообщениеДобавлено: 2012-фев-27 10:54 
Не в сети

Зарегистрирован: 2010-июл-08 08:50
Сообщения: 734
Откуда: АО "ПКК Миландр"
Обновление демонстрационных программ.
Добавлено несколько новых проектов.


Вложения:
DemoProgramms_1986VE1T.rar [5.07 МБ]
Скачиваний: 627
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Примеры программ.
СообщениеДобавлено: 2012-мар-22 10:46 
Не в сети

Зарегистрирован: 2010-июл-08 08:50
Сообщения: 734
Откуда: АО "ПКК Миландр"
Обновление демонстрационных программ.
Исправления в проектах, где изменяется конфигурация задержки памяти программ при чтении (регистр EEPROM->CMD, биты DELAY[2:0]).


Вложения:
Examples_for_1986VE1_22_03_2012.rar [5.27 МБ]
Скачиваний: 704
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Примеры программ.
СообщениеДобавлено: 2012-июн-29 14:10 
Не в сети

Зарегистрирован: 2012-апр-20 08:41
Сообщения: 36
А можно какой-нибудь пример с SPI и microSD?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Примеры программ.
СообщениеДобавлено: 2012-июл-13 07:30 
Не в сети

Зарегистрирован: 2012-апр-20 08:41
Сообщения: 36
Набросал тестик для SPI. На пример с миркроСД времени нет, буду рад увидеть.


Вложения:
pillar_SPI.rar [178.12 КБ]
Скачиваний: 573
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Примеры программ.
СообщениеДобавлено: 2012-июл-20 14:49 
Не в сети

Зарегистрирован: 2010-июл-08 08:50
Сообщения: 734
Откуда: АО "ПКК Миландр"
Новая редакция демопрограмм, адаптированная под вторую ревизию кристалла/платы.


Вложения:
1986VE1T_demoprogramms_part2.zip [4.2 МБ]
Скачиваний: 927
1986VE1T_demoprogramms_part1.zip [4.52 МБ]
Скачиваний: 888
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 54 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB