Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 01.05.2017, 15:12  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Сообщений: 4,418
Сказал спасибо: 395
Сказали Спасибо 2,205 раз(а) в 1,306 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Proteus 8.6 + STM32 глючит ...

...да и вы тоже, не сказать чтоб очень уж ровно пишете, однако.
GPIOA-›BSRR |= GPIO_BSRR_BR4
в то время, как регистр BSRR имеет тип write-only.
В "железе" при такой записи внутренней ошибки не происходит, а в софтовой модели - может и клинит от попытки чтения регистра, работающего только на запись.
Либо, вы не знаете про разницу между BR4 и BS4
Реклама:
NewWriter вне форума  
Непрочитано 01.05.2017, 23:49  
Akhmed
Прохожий
 
Регистрация: 10.07.2006
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Akhmed на пути к лучшему
По умолчанию Re: Proteus 8.6 + STM32 глючит ...

Не спорю, мой косяк. Я только осваиваю STM32, поэтому некоторые тонкости могу упустить.
Разницу между BR4 и BS4 я понимаю.

Код:
int i;

int main(void)
{
   RCC-›APB2ENR |= RCC_APB2ENR_IOPAEN; 
   GPIOA-›CRL &= ~GPIO_CRL_CNF4;
   GPIOA-›CRL |= GPIO_CRL_MODE4;
   
   while (1)
   {
      GPIOA-›BSRR = GPIO_BSRR_BS4;
      for ( i=0; i‹300000; i++);
      GPIOA-›BSRR = GPIO_BSRR_BR4;
      for ( i=0; i‹300000; i++);
   }
}
Этот код скомпилированный в Keil вызывает BUS_FAULT,
а скомпилированный в GCC-ARM средствами Proteus работает.
Akhmed вне форума  
Непрочитано 18.04.2018, 13:43  
Пётр_В
Частый гость
 
Регистрация: 15.06.2011
Сообщений: 29
Сказал спасибо: 0
Сказали Спасибо 15 раз(а) в 5 сообщении(ях)
Пётр_В на пути к лучшему
По умолчанию Re: Proteus 8.6 + STM32 глючит ...

Сообщение от Akhmed Посмотреть сообщение
Этот код скомпилированный в Keil вызывает BUS_FAULT
Если убрать вызов функции SystemInit, то не вызывает BUS_FAULT.

При необходимости можно обойти глюки модели http://www.cyberforum.ru/blogs/204791/blog5226.html
Пётр_В вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Proteus не сбрасывает флаг RBIF в регистре INTCON korpinbox Proteus 3 23.08.2011 23:33
LPT b PROTEUS romshe Proteus 0 01.11.2009 18:22
[Решено] Проблема с eeprom в Proteus Memfis666 Proteus, KiCAD и другие ECAD 1 01.10.2009 15:38
PROTEUS 6.9 sp2 micr Микроконтроллеры, АЦП, память и т.д 6 22.07.2006 00:29
Proteus и время. zelanez Микроконтроллеры, АЦП, память и т.д 12 21.06.2006 19:16


Часовой пояс GMT +4, время: 04:33.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot