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

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

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

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

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

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


 
Опции темы
Непрочитано 31.10.2018, 11:54  
verdana
Заблокирован
 
Регистрация: 16.03.2005
Сообщений: 5,918
Сказал спасибо: 560
Сказали Спасибо 9,144 раз(а) в 2,892 сообщении(ях)
verdana на пути к лучшему
По умолчанию Re: stm32f103REt6 (64 pin) + SPI1

Сообщение от CERGEI1982 Посмотреть сообщение
, я как раз вылаживал исходник

Сообщение от akegor Посмотреть сообщение
Простите, это что? Как перевести на русский? "Отлаживали" или "выкладывали"?
Стыдно не знать элементарных вещей.

Согласно нашей русской грмтк., "вылаживание", это процесс
облажания.
Реклама:
verdana вне форума  
Сказали "Спасибо" verdana
mike-y-k (31.10.2018)
Непрочитано 31.10.2018, 11:56  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: stm32f103REt6 (64 pin) + SPI1

akegor, да вот ночью на SPL включил ремап одной строкой и заработало. Посмотрел код в отладчике - он там через дополнительные переменные выставляет регистр. И ремап включился. Пока попробую на SPL запустить, посмотреть в отладчике и написать уже свое. Инит оставлю может на SPL, а вот либу для дисплея подправлю без SPL.
miwutka вне форума  
Непрочитано 31.10.2018, 13:48  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: stm32f103REt6 (64 pin) + SPI1

DOSIKUS , великое спасибо на том форуме )) Есле б раньше его примеры увидел, то быстрее бы вкурил шину тогда...
miwutka вне форума  
Непрочитано 31.10.2018, 15:51  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: stm32f103REt6 (64 pin) + SPI1

Парни подскажите почему может не выставляться бит SB после старта?
Висит в вайле... Подтяжка к питанию 4.7ком.

PHP код:
это инит 
I2C1
-›CR2 &= ~I2C_CR2_FREQ;
    
I2C1-›CR2 |= 42;
    
    
I2C1-›CCR &= ~I2C_CCR_CCR;
    
I2C1-›CCR |= 34;
    
I2C1-›CCR |= I2C_CCR_FS;
    
    
I2C1-›TRISE 12;

    
I2C1-›CR1 |= I2C_CR1_PE;

а это начало посылки

I2C1
-›CR1 |= I2C_CR1_START;

        
        while (!(
I2C1-›SR1 I2C_SR1_SB)) // тут висит. Нет флага...
{
        }
        (
voidI2C1-›SR1;

    
      
        
I2C1-›DR SSD1306_I2C_ADDR1;
               
        while (!(
I2C1-›SR1 I2C_SR1_ADDR))
            {
            }
                (
voidI2C1-›SR1;
                (
voidI2C1-›SR2;
        
         
I2C1-›DR=control_byte;
            while (!(
I2C1-›SR1 I2C_SR1_TXE))
            {
            }

     
I2C1-›DR=data;
    
    while (!(
I2C1-›SR1 I2C_SR1_BTF))
    {
    }
      
I2C1-›CR1 |= I2C_CR1_STOP
miwutka вне форума  
Непрочитано 31.10.2018, 16:01  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: stm32f103REt6 (64 pin) + SPI1

А что на шине твориться? Видать старта нет или порты неправильно настроены.
__________________
Глаза боятся,а руки делают.
CERGEI1982 вне форума  
Непрочитано 31.10.2018, 16:41  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: stm32f103REt6 (64 pin) + SPI1

Сообщение от CERGEI1982 Посмотреть сообщение
А что на шине твориться? Видать старта нет или порты неправильно настроены.
Настройка портов
PHP код:
RCC-›APB1ENR |= RCC_APB1ENR_I2C1EN;
        
RCC-›APB2ENR |= RCC_APB2ENR_IOPBEN;
//        AFIO-›MAPR |= AFIO_MAPR_I2C1_REMAP;
   
GPIO_PinRemapConfig(GPIO_Remap_I2C1ENABLE); // ремап заработал только так на эту шину
   
      //   00: Input mode (reset state)
//01: Output mode, max speed 10 MHz.
//10: Output mode, max speed 2 MHz.
//11: Output mode, max speed 50 MHz.
   
GPIOB-›CRH |= GPIO_CRH_MODE8 // OUT 50 MHz
               
GPIO_CRH_MODE9 //  OUT 50 MHz
   

   
//   In input mode (MODE[1:0]=00):
//00: Analog mode  I2C_EVENT_MASTER_MODE_SELECT
//01: Floating input (reset state)
//10: Input with pull-up / pull-down
//11: Reserved
//In output mode (MODE[1:0] › 00):
//00: General purpose output push-pull
//01: General purpose output Open-drain
//10: Alternate function output Push-pull
//11: Alternate function output Open-drain
   
   
GPIOB-›CRH &= ~GPIO_CRH_CNF8
   
GPIOB-›CRH &= ~GPIO_CRH_CNF9
   ;
   
GPIOB-›CRH |= GPIO_CRH_CNF8 
               
GPIO_CRH_CNF9 // for I2C Open Drain need 
   

Тут пересчитал инит шины
PHP код:
I2C1-›CR2 &= ~I2C_CR2_FREQ;
    
I2C1-›CR2 |= 44;//APB1 = 44MHz 
    
    
I2C1-›CCR &= ~I2C_CCR_CCR;
    
I2C1-›CCR |= 220;//(44MHz/100KHz/2)
    
I2C1-›CCR |= I2C_CCR_FS;
    
    
I2C1-›TRISE 44;//(1mcs/(1/44MHz)+1)

    
I2C1-›CR1 |= I2C_CR1_PE
Осликом смотрю. Шина полностью молчит. После инита портов на 800 мкс прижимается к земле и возвращается в верх. После старта ничего не происходит на шине.
В SR2 висит бит BUSY и видимо поэтому нет старта...??

сразу после этих строк
PHP код:
GPIOB-›CRH |= GPIO_CRH_CNF8 
               
GPIO_CRH_CNF9 // for I2C Open Drain need 
   

устанавливается BUSY в регистре SR2. Что это значит?
miwutka вне форума  
Непрочитано 31.10.2018, 19:03  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: stm32f103REt6 (64 pin) + SPI1

Помню мне говорили что на 103 геморойно шина работает... Вроде на первый взгляд ничего особенного, но уже настроил и вторую шину, и ремап отключал, на других портах проверял - обе шины тупо висят в BUSY... ПОКА НЕЗНАЮ ЧТО УЖЕ ДЕЛАТЬ...
miwutka вне форума  
Непрочитано 31.10.2018, 19:12  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: stm32f103REt6 (64 pin) + SPI1

miwutka, у меня все нормально работало, правда, с opencm3 (здесь и здесь). По-человечески не пробовал.
__________________
Смерть бандеровской мразоте!
eddy вне форума  
Непрочитано 31.10.2018, 19:41  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: stm32f103REt6 (64 pin) + SPI1

Вот взял готовый проект от сюда http://forum.easyelectronics.ru/view...p?f=35&t=14117 автор foton6. Залил в 103с8 проц и работает. Инит там такой же за исключением что сначала он определяет CNF а потом MODE. Я сделал так же и бит BUSY уже не стоит! Оказывается мля порядок инита играет роль ППЦ!!!!..... Но теперь всеравно нет старта....
miwutka вне форума  
Непрочитано 31.10.2018, 19:55  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: stm32f103REt6 (64 pin) + SPI1

Вообщем этот проц ВОИСТИНУ придуркуватый!
Дописал с включением бита на старт и включить периферию - выдался бит старта ,пошли дальше, флаги сработали. Теперь стали в следующем вайле... Флаг выдачи адреса....
PHP код:
I2C1-›CR1 |= I2C_CR1_START I2C_CR1_PE;
     
        while (!(
I2C1-›SR1 I2C_SR1_SB))
        {
         
        }
        (
voidI2C1-›SR1;

    
      
I2C1-›DR 0x78;
//        I2C1-›DR = SSD1306_I2C_ADDR1;
               
        
while (!(I2C1-›SR1 I2C_SR1_ADDR)) //теперь ждем этого вагона..... 
Устанавливается флаг AF in reg SR1
OAR1 я так понимаю для слейв режима?? Не могу понять как проц поймет что я записал адрес а не фигню....

Последний раз редактировалось miwutka; 31.10.2018 в 20:05.
miwutka вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изучение PIC C Compiler(CCS C) CERGEI1982 Embedd С 1984 30.08.2023 14:10
Программирование программатором STERH 007 PIC микроконтроллеров ispitatel1 Песочница (вопросы новичков) 4 17.04.2017 17:18
Уроки СИ для AVR микроконроллеров IOPA4 Embedd С 969 26.11.2016 12:59
STM32F030C8T6 пролема с SPI1 alexdos ARM 11 01.10.2013 20:46
xMEGA прерывания . megavoltk2 Микроконтроллеры, АЦП, память и т.д 3 24.04.2012 16:58


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


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