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

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

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

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

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

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


 
Опции темы

Не получается сконфигурировать SPI1 на STM32F103C8

Непрочитано 25.11.2016, 14:04  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Не получается сконфигурировать SPI1 на STM32F103C8

Эти ребята начали работать с embedded системами когда меня еще на свете не было. Надо поумерить свое высокомерие.
Реклама:
Easyrider83 вне форума  
Непрочитано 25.11.2016, 14:18  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Не получается сконфигурировать SPI1 на STM32F103C8

Easyrider83, ну дык и умерь, ктож против?
Сравнивать какойтотам камень , и наверняка с дохлой периферией, с стм и отмазывать свой быдлокод снова таки сравнивая с какимтотам кодом, Паш тебе самому то не смешно?
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 25.11.2016 в 14:22.
dosikus вне форума  
Непрочитано 25.11.2016, 15:06  
serb-radio
Гражданин KAZUS.RUN
 
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
serb-radio на пути к лучшему
По умолчанию Re: Не получается сконфигурировать SPI1 на STM32F103C8

Сообщение от Дмитрий1987 Посмотреть сообщение
serb-radio, вы можете еще выслать конфиг GPIO?
я скопировал часть SPI в свою прогу! Эффект тот же(
Спасибо!
void pio_config (void)
{
RCC-›APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPCEN;
RCC-›APB2ENR |= RCC_APB2ENR_IOPDEN | RCC_APB2ENR_IOPBEN;
RCC-›APB2ENR |= RCC_APB2ENR_AFIOEN;

AFIO-›MAPR|=AFIO_MAPR_SWJ_CFG_JTAGDISABLE;

// lcd
//D7
GPIOB-›CRH |= GPIO_CRH_MODE15;
GPIOB-›CRH &= ~GPIO_CRH_CNF15;
GPIOB-›BSRR|= GPIO_BSRR_BR15;
//D6
GPIOB-›CRH |= GPIO_CRH_MODE14;
GPIOB-›CRH &= ~GPIO_CRH_CNF14;
GPIOB-›BSRR|= GPIO_BSRR_BR14;
//D5
GPIOB-›CRH |= GPIO_CRH_MODE13;
GPIOB-›CRH &= ~GPIO_CRH_CNF13;
GPIOB-›BSRR|= GPIO_BSRR_BR13;
//D4
GPIOB-›CRH |= GPIO_CRH_MODE12;
GPIOB-›CRH &= ~GPIO_CRH_CNF12;
GPIOB-›BSRR|= GPIO_BSRR_BR12;
//D3
GPIOB-›CRH |= GPIO_CRH_MODE11;
GPIOB-›CRH &= ~GPIO_CRH_CNF11;
GPIOB-›BSRR|= GPIO_BSRR_BR11;
//D2
GPIOB-›CRH |= GPIO_CRH_MODE10;
GPIOB-›CRH &= ~GPIO_CRH_CNF10;
GPIOB-›BSRR|= GPIO_BSRR_BR10;
//D1
GPIOB-›CRH |= GPIO_CRH_MODE9;
GPIOB-›CRH &= ~GPIO_CRH_CNF9;
GPIOB-›BSRR|= GPIO_BSRR_BR9;
//D0
GPIOB-›CRH |= GPIO_CRH_MODE8;
GPIOB-›CRH &= ~GPIO_CRH_CNF8;
GPIOB-›BSRR|= GPIO_BSRR_BR8;

//RD
GPIOA-›CRH |= GPIO_CRH_MODE8;
GPIOA-›CRH &= ~GPIO_CRH_CNF8;
GPIOA-›BSRR|= GPIO_BSRR_BS8;
//WR
GPIOA-›CRH |= GPIO_CRH_MODE9;
GPIOA-›CRH &= ~GPIO_CRH_CNF9;
GPIOA-›BSRR|= GPIO_BSRR_BS9;
//RS
GPIOA-›CRH |= GPIO_CRH_MODE10;
GPIOA-›CRH &= ~GPIO_CRH_CNF10;
GPIOA-›BSRR|= GPIO_BSRR_BS10;
//RST
GPIOA-›CRH |= GPIO_CRH_MODE11;
GPIOA-›CRH &= ~GPIO_CRH_CNF11;
GPIOA-›BSRR|= GPIO_BSRR_BS11;
//CS
GPIOA-›CRH |= GPIO_CRH_MODE12;
GPIOA-›CRH &= ~GPIO_CRH_CNF12;
GPIOA-›BSRR|= GPIO_BSRR_BS12;

GPIOB-›CRL |= GPIO_CRL_MODE5;
GPIOB-›CRL &= ~GPIO_CRL_CNF5;
GPIOB-›BSRR|= GPIO_BSRR_BS5;

// CENTER key
GPIOA-›CRL &=~GPIO_CRL_MODE0;
GPIOA-›CRL &=~GPIO_CRL_CNF0_0;
GPIOA-›CRL |= GPIO_CRL_CNF0_1;
GPIOA-›BSRR|= GPIO_BSRR_BR0;

// right key
GPIOA-›CRH &=~GPIO_CRH_MODE15;
GPIOA-›CRH &=~GPIO_CRH_CNF15_0;
GPIOA-›CRH |= GPIO_CRH_CNF15_1;
GPIOA-›BSRR|= GPIO_BSRR_BS15;

GPIOB-›CRL &=~GPIO_CRL_MODE7;
GPIOB-›CRL &=~GPIO_CRL_CNF7_0;
GPIOB-›CRL |= GPIO_CRL_CNF7_1;
GPIOB-›BSRR|= GPIO_BSRR_BS7;

GPIOB-›CRL |= GPIO_CRL_MODE5;
GPIOB-›CRL &= ~GPIO_CRL_CNF5;
GPIOB-›BSRR|= GPIO_BSRR_BS5;

//sound
GPIOB-›CRL &= ~GPIO_CRL_MODE6;
GPIOB-›CRL &= ~GPIO_CRL_CNF6;
GPIOB-›CRL |= GPIO_CRL_MODE6_1;
GPIOB-›CRL &= ~GPIO_CRL_CNF6;
GPIOB-›BSRR = GPIO_BSRR_BR6;


GPIOA-›CRL |= GPIO_CRL_MODE3;
GPIOA-›CRL &= ~GPIO_CRL_CNF3;
GPIOA-›BSRR|= GPIO_BSRR_BR3;



GPIOA-›CRL |= GPIO_CRL_MODE1;
GPIOA-›CRL &= ~GPIO_CRL_CNF1;
GPIOA-›BSRR|= GPIO_BSRR_BR1;

GPIOB-›CRL &=~GPIO_CRL_MODE1;
GPIOB-›CRL &=~GPIO_CRL_CNF1_0;
GPIOB-›CRL |= GPIO_CRL_CNF1_1;
GPIOB-›BSRR|= GPIO_BSRR_BR1;

return;
}
__________________
То, что нас не убивает - делает нас сильнее
serb-radio вне форума  
Непрочитано 25.11.2016, 15:41  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Не получается сконфигурировать SPI1 на STM32F103C8

serb-radio, Маски можно и нужно группировать :

Код:
GPIOB-›CRH |= GPIO_CRH_MODE15 |GPIO_CRH_MODE14|GPIO_CRH_MODE13...
и т.д

Код:
GPIOB-›BSRR|= GPIO_BSRR_BR15;
Не имеет смысла но говорит о том что RM не читан.

Код:
GPIOB-›BSRR= GPIO_BSRR_BR15;
Ну и здесь так же группировать...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 26.11.2016, 19:06  
Predator_r
Временная регистрация
 
Регистрация: 17.12.2008
Адрес: Спб
Сообщений: 96
Сказал спасибо: 19
Сказали Спасибо 25 раз(а) в 20 сообщении(ях)
Predator_r на пути к лучшему
По умолчанию Re: Не получается сконфигурировать SPI1 на STM32F103C8

и мне помощи, пожалуйста.
докатился до вот такого кусочка кода:

Код:
	 SPI1_CR1 = &(SPI1-›CR1);
//	 SPI1_CR1 = &(GPIOC-›BSRR);
  *SPI1_CR1 = 0x200;
SPI1_CR1 = &(SPI1-›CR1); натравливает SPI1_CR1 на 0х40013000
SPI1_CR1 = &(GPIOC-›BSRR); натравливает SPI1_CR1 на 0х40011010

так вот в 0х40011010 прописывается 0х200, а в 0х40013000 нет...

P.S. а еще у меня SysTick поломался - прерывание не вызывается
Predator_r вне форума  
Непрочитано 26.11.2016, 19:12  
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Не получается сконфигурировать SPI1 на STM32F103C8

ээээ...что это за код, проясните.. не понимаю. "Взять адрес регистра CR1 и поместить его в SPI1_CR1 (надеюсь, это переменная?)"..
Зачем и для чего это сделано было в плане конфигурирования модуля SPI?

SysTick поломался? Нууу мы отсюда не видим... Постучите по рулю, подергайте дворники...
NewWriter вне форума  
Непрочитано 26.11.2016, 19:18  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Не получается сконфигурировать SPI1 на STM32F103C8

Predator_r, подробней, что хотели изобразить ...

На счет Systick ...
Код:
	void SysTick_Handler(void) {
			
			
			if (TimingDelay) {
				TimingDelay--;
			}
	

		}

		
		void Delay_mS(uint32_t nTime) {
			TimingDelay = nTime;

			while (TimingDelay);
		}
Инит

Код:
SysTick_Config(SystemCoreClock /1000);
Пользуем.
Код:
Delay_mS(100);
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 26.11.2016 в 19:20.
dosikus вне форума  
Непрочитано 26.11.2016, 19:24  
Predator_r
Временная регистрация
 
Регистрация: 17.12.2008
Адрес: Спб
Сообщений: 96
Сказал спасибо: 19
Сказали Спасибо 25 раз(а) в 20 сообщении(ях)
Predator_r на пути к лучшему
По умолчанию Re: Не получается сконфигурировать SPI1 на STM32F103C8

"Взять адрес регистра CR1 и поместить его в SPI1_CR1 (надеюсь, это переменная?)"..
да, это переменная.
сей кусочек кода родился для уверенности в том, что я пишу именно в тот регистр (мало-ли какая библиотека не подключилась и CR1 куда попало светит), а так я в вотче адрес проконтролировал.
Для конфигурирования смысла не имеет, это у меня для вычисления, где-же что не прописалось....

SysTick - поломался, но дворники надо сперва у SPI додёргать.
Predator_r вне форума  
Непрочитано 26.11.2016, 19:28  
Predator_r
Временная регистрация
 
Регистрация: 17.12.2008
Адрес: Спб
Сообщений: 96
Сказал спасибо: 19
Сказали Спасибо 25 раз(а) в 20 сообщении(ях)
Predator_r на пути к лучшему
По умолчанию Re: Не получается сконфигурировать SPI1 на STM32F103C8

я HAL поторошу, тяжко мне применять HALы и SPLи, пока порегистрам не разберу - пока не разберу ничего не получается.
Код:
void SysTick_Handler(void)
{
  HAL_IncTick();
}
сюда даже не попадает.
Predator_r вне форума  
Непрочитано 26.11.2016, 19:30  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Не получается сконфигурировать SPI1 на STM32F103C8

Predator_r, вам надо контролировать содержимое регистров периферии, копируя их в переменную?
Тогда не тот бред что написали , а
Код:
SPI1_CR1=SPI1-›CR1;
И если хотите видет ее в вотчвиндоу, она должна быть глобальной.
А по большому счету -проблема высосана из пальца , да и подобные танцы с бубном к тому же чреваты.
Многие флаги регистров изменяются при считывании.

С калом и SPL идите лесом, он что здесь никому не нужен что вообще никому...
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 26.11.2016 в 19:32.
dosikus вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
STM32F030C8T6 пролема с SPI1 alexdos ARM 11 01.10.2013 20:46
STM32 Не получается настроить термометр ds1621 sanstan ARM 6 19.04.2013 15:43


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.