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

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

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

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

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

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


 
Опции темы
Непрочитано 21.01.2015, 21:58  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Keil и русский язык

YURALL72, Внимательно посмотри на картинки .
Важное я выделил .
При utf8 буквы кодируются 2 байтами ,
так что неудивительно что в switch-case у тебя никогда не будет совпадений .



Реклама:
__________________
Осторожно , злой кот
dosikus вне форума  
Сказали "Спасибо" dosikus
SlovachevskyDV (31.01.2017)
Непрочитано 21.01.2015, 22:19  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Keil и русский язык

Здесь наверное наглядней будет ...

__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 22.01.2015, 02:18  
YURALL72
Прописка
 
Регистрация: 29.06.2007
Сообщений: 217
Сказал спасибо: 143
Сказали Спасибо 13 раз(а) в 11 сообщении(ях)
YURALL72 на пути к лучшему
По умолчанию Re: Keil и русский язык

Пытаюсь запустить SPI в первый раз.Не получается.Регистр SPI2-›DR записуется,но потом жму пошаговую отладку,а он стоит на месте,не сдвигается.Помогите кому не трудно.

void SPI_ini(void)
{
GPIO_InitTypeDef GPIO_Init_LED;//создаем переменную типа структуры GPIO_InitTypeDef
SPI_InitTypeDef SPI_Init_user;//создаем переменную типа структуры SPI_InitTypeDef


RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE); //включаем тактирование порта В

GPIO_Init_LED.GPIO_Pin = GPIO_Pin_12 |GPIO_Pin_13 |GPIO_Pin_15;//указываем нужные порты
GPIO_Init_LED.GPIO_Mode = GPIO_Mode_AF;//Режим-альтернативная функция
GPIO_Init_LED.GPIO_Speed = GPIO_Speed_40MHz;//самая большая скорость порта
GPIO_Init_LED.GPIO_OType = GPIO_OType_PP;//двухтактный выход
GPIO_Init_LED.GPIO_PuPd = GPIO_PuPd_NOPULL;//без подтяжки

GPIO_Init(GPIOB, &GPIO_Init_LED);//записуем конфигурацию порта

GPIO_PinAFConfig(GPIOB, GPIO_PinSource12, GPIO_AF_SPI2);//альтернативная функция SPI2
GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_SPI2);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_SPI2);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE);//Включаем тактирование SPI2

SPI_Init_user.SPI_Direction = SPI_Direction_1Line_Tx;//Режим только передатчика
SPI_Init_user.SPI_Mode = SPI_Mode_Master;//Режим мастера
SPI_Init_user.SPI_DataSize = SPI_DataSize_16b;//Размер данных 16 бит
SPI_Init_user.SPI_CPOL = SPI_CPOL_Low;//Начальное состояние тактовой частоты низкое
SPI_Init_user.SPI_CPHA = SPI_CPHA_1Edge;//стробирование по первому (нарастающему) фронту
SPI_Init_user.SPI_NSS = SPI_NSS_Soft;//сам буду управлять сигналом выбора чипа CS
SPI_Init_user.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8;//скорость = 32/8 = 4МГц
SPI_Init_user.SPI_FirstBit = SPI_FirstBit_MSB;//Первый старший бит
SPI_Init_user.SPI_CRCPolynomial = 7;//х.з. что это

SPI_Init(SPI2, &SPI_Init_user);//записуем конфигурацию SPI

SPI_Cmd(SPI2, ENABLE);//Включаем SPI
}

//**********************************************
// аппаратная отсылка данных при помощи SPI
//
//**********************************************

void WriteSpiCommand(volatile unsigned int command)
{
command = (command & (~0x0100));//т.к. это команда то 9-й бит =0
command = command ‹‹7;//сдвигаем в старшие разряды,передача старшим битом вперёд
// wait for the previous transfer to complete
while(!(SPI2-›SR & SPI_SR_TXE)); //TXE – устанавливается при опустошении буфера передатчика
GPIO_SetBits(PORT_LCD, CS_LCD);//после того как дождались пересылки байта дергаем CS
GPIO_ResetBits(PORT_LCD, CS_LCD);//готовим cs к передаче
// send the command
SPI2-›DR = command;//записуем байт и начинается передача
//SPI_I2S_SendData( SPI2, command);
//delay_us(5);
}

void WriteSpiData(volatile unsigned int data)
{
data = (data | 0x0100);
data = data ‹‹7;
// wait for the previous transfer to complete
while(!(SPI2-›SR & SPI_SR_TXE));//TXE – устанавливается при опустошении буфера передатчика
GPIO_SetBits(PORT_LCD, CS_LCD);//CS_LCD_SET;
GPIO_ResetBits(PORT_LCD, CS_LCD);//CS_LCD_RESET;
// send the data
SPI2-›DR = data;
//SPI_I2S_SendData( SPI2, data);
//delay_us(5);
}
YURALL72 вне форума  
Непрочитано 22.01.2015, 09:23  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Keil и русский язык

YURALL72, Если не ошибаюсь в L такой же SPI как и в 103 .
Для 8битных одиночных транзакций .

Код:
  void Spi_init(void) //настроить модуль SPI
  {
        
        RCC-›APB2ENR |= RCC_APB2ENR_SPI1EN; //    
        SPI1-›CR1     = 0x0000;             //
        SPI1-›CR2     = 0x0000;             //
        SPI1-›CR1    |= SPI_CR1_MSTR|SPI_CR1_SSI | SPI_CR1_SSM| SPI_CR1_SPE; 

  }

    uint8_t Spi_send (uint8_t data)
      { 
      
        SPI1-›DR = data;                       //
        while (!(SPI1-›SR & SPI_SR_RXNE));     //
        
        return (SPI1-›DR);		         //
      }

и конфиг лап.
Код:
void GPIO_init (void)
      {
           
        RCC-›APB2ENR |=  
        RCC_APB2ENR_IOPAEN    
        ;    

        //RSET
      GPIOA-›CRL   |=  GPIO_CRL_MODE2;    //
      GPIOA-›CRL   &= ~GPIO_CRL_CNF2;     //
      GPIOA-›BSRR   =  GPIO_BSRR_BS2;     //
      // RS: 
      GPIOA-›CRL   |=  GPIO_CRL_MODE3;    //
      GPIOA-›CRL   &= ~GPIO_CRL_CNF3;     //
      GPIOA-›BSRR   =  GPIO_BSRR_BS3;     //
      
      // SS: 
      GPIOA-›CRL   |=  GPIO_CRL_MODE4;    //
      GPIOA-›CRL   &= ~GPIO_CRL_CNF4;     //
      GPIOA-›BSRR   =  GPIO_BSRR_BS4;     //
     
      //SCK: 
      GPIOA-›CRL   |=  GPIO_CRL_MODE5;    //
      GPIOA-›CRL   &= ~GPIO_CRL_CNF5;     //
      GPIOA-›CRL   |=  GPIO_CRL_CNF5_1;   //
     
      // MISO: 
      GPIOA-›CRL   &= ~GPIO_CRL_MODE6;    //
      GPIOA-›CRL   &= ~GPIO_CRL_CNF6;     //
      GPIOA-›CRL   |=  GPIO_CRL_CNF6_1;   //
      GPIOA-›BSRR   =  GPIO_BSRR_BS6;      //
     
      //MOSI:
      GPIOA-›CRL   |=  GPIO_CRL_MODE7;    //
      GPIOA-›CRL   &= ~GPIO_CRL_CNF7;     //
      GPIOA-›CRL   |=  GPIO_CRL_CNF7_1;   //
           
      }
__________________
Осторожно , злой кот
dosikus вне форума  
Сказали "Спасибо" dosikus
YURALL72 (22.01.2015)
Непрочитано 22.01.2015, 10:56  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Keil и русский язык

Сообщение от YURALL72 Посмотреть сообщение
Пытаюсь запустить SPI в первый раз.Не получается.Регистр SPI2-›DR записуется,но потом жму пошаговую отладку,а он стоит на месте,не сдвигается.
А он и не должен сдвигаться. Читайте мануал. Данные выплёвываются из регистра сдвига, а не из DR.
И такие вещи пошагово делать бесполезно, зациклитесь на первой же проверке флага даже на рабочей проге.
STM32F0 вне форума  
Сказали "Спасибо" STM32F0
YURALL72 (22.01.2015)
Непрочитано 22.01.2015, 15:39  
YURALL72
Прописка
 
Регистрация: 29.06.2007
Сообщений: 217
Сказал спасибо: 143
Сказали Спасибо 13 раз(а) в 11 сообщении(ях)
YURALL72 на пути к лучшему
По умолчанию Re: Keil и русский язык

Ребят,а в Кейле работает логический анализатор для STM32L152 ?А то я перечитал всё скудное что нашел в инете,а запустить не смог.На все порты ругается-неизвестный сигнал.Как его заставить работать?А то без визуального наблюдения тяжко.
YURALL72 вне форума  
Непрочитано 23.01.2015, 02:42  
YURALL72
Прописка
 
Регистрация: 29.06.2007
Сообщений: 217
Сказал спасибо: 143
Сказали Спасибо 13 раз(а) в 11 сообщении(ях)
YURALL72 на пути к лучшему
По умолчанию Re: Keil и русский язык

Запустил дисплей по СПИ 16 бит.Инициализация прошла,на экране мусор.Смысл в том что он принимает первые 9 бит нормально.А после следующих 7 бит я сбрасываю CS и он бракует и отбрасывает этот неполный байт.Но возникла проблема,у мя какого-то ляха не выставляется и не сбрасывается бит BSY и TXE.Сделал задержку и всё заработало.Теперь буду разбираться с этими битами.Мож кто знает плиз подскажите.Тяжёлые эти stm32 просто жуть.
Пример передачи команды.
void WriteSpiCommand(volatile unsigned int command)
{
command = (command & (~0x0100));//т.к. это команда то 9-й бит =0
command = command ‹‹7;//сдвигаем в старшие разряды,передача старшим битом вперёд
// wait for the previous transfer to complete
//while(!(SPI2-›SR & SPI_SR_TXE)){}; //TXE – устанавливается при опустошении буфера передатчика
GPIO_ResetBits(PORT_LCD, CS_LCD);//готовим cs к передаче
// send the command
SPI_I2S_SendData(SPI2, command);//SPI2-›DR = command;//записуем байт и начинается передача
while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_BSY) == SET) {}//while (!(SPI1-›SR & SPI_SR_BSY)){};
GPIO_SetBits(PORT_LCD, CS_LCD);//после того как дождались пересылки байта дергаем CS
delay_us(40);
}
Работает SPI_BaudRatePrescaler и 2 и 4 и 8 ставил работает.Но задержка 40 мкс напрягает(((
Миниатюры:
Нажмите на изображение для увеличения
Название: 23.01.png
Просмотров: 19
Размер:	19.5 Кб
ID:	74889  

Последний раз редактировалось YURALL72; 23.01.2015 в 02:48.
YURALL72 вне форума  
Непрочитано 23.01.2015, 10:34  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Keil и русский язык

command = (command & (~0x0100));//т.к. это команда то 9-й бит =0
command = command ‹‹7;//сдвигаем в старшие разряды,передача старшим битом вперёд
GPIO_ResetBits(PORT_LCD, CS_LCD);//готовим cs к передаче
// send the command
SPI_I2S_SendData(SPI2, command);//SPI2-›DR = command;//записуем байт и начинается передача

while(!(SPI2-›SR & SPI_SR_TXE)){}; //TXE – устанавливается при опустошении буфера передатчика

while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_BSY) == SET) {}//while (!(SPI1-›SR & SPI_SR_BSY)){};

GPIO_SetBits(PORT_LCD, CS_LCD);//после того как дождались пересылки байта дергаем CS
STM32F0 вне форума  
Непрочитано 23.01.2015, 14:04  
YURALL72
Прописка
 
Регистрация: 29.06.2007
Сообщений: 217
Сказал спасибо: 143
Сказали Спасибо 13 раз(а) в 11 сообщении(ях)
YURALL72 на пути к лучшему
По умолчанию Re: Keil и русский язык

Всем привет.Попробовал,без задержки 40мкс не работает.При пошаговой отладке проходит циклы проверки флагов без остановки.Да , я ток заметил флаги в отладчике почему-то серые,не активные.
На втором рисунке частота ЧЕГО должна быть выставлена?Кварца (я впаял кварц 8Мгц на 152L дисковери),частота на которой работает ядро (я думаю 32Мгц) или самого программатора st-link?
Миниатюры:
Нажмите на изображение для увеличения
Название: 23.01.png
Просмотров: 48
Размер:	84.8 Кб
ID:	74911   Нажмите на изображение для увеличения
Название: 23.03.png
Просмотров: 60
Размер:	48.9 Кб
ID:	74912  

Последний раз редактировалось YURALL72; 23.01.2015 в 14:08.
YURALL72 вне форума  
Непрочитано 23.01.2015, 15:28  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Keil и русский язык

YURALL72, Не трогай ты этот анализатор , ничего он тебе не даст.
Лучше купи Saleae Logic Analyser http://ru.aliexpress.com/wholesale?S...20150123032837
__________________
Осторожно , злой кот
dosikus вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги dosikus Делимся опытом 11242 29.12.2015 23:45
Анекдот, анекдот ... (часть 4) EagleB3 Отвлекитесь, эмбеддеры! 2139 14.04.2015 08:18
DVD проигрыватель Shinco DVP-358. В двуязычных видео DVD пропал русский язык ByakaBuka Видеотехника 5 27.06.2012 23:50
Русский язык на mt-16s2d. GregoryN Микроконтроллеры, АЦП, память и т.д 1 30.07.2006 14:36


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


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