12.05.2011, 15:08
|
|
Прохожий
Регистрация: 30.04.2011
Сообщений: 3
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Здравствуйте уважаемые форумчане!
Хочу к STM8L152C6T6 прикрутить LS02, пока сходу не получается, еще нет уверенности на счет работоспособности LCD. Пока пытаюсь разобраться. В описании на МК есть таблица, из которой видно, что, например, SPI1_SCK может висеть на PC6 и одновременно на PB5, а как же все-таки выбрать конкретный пин?
|
|
|
|
12.05.2011, 16:26
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Читайте RM0031 раздел 11.5 ... стр.140...
|
|
|
|
12.05.2011, 16:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от CAManiak
|
а как же все-таки выбрать конкретный пин?
|
Раздел 11.5 референс мануала. SYSCFG registers
Опоздал
|
|
|
|
13.05.2011, 11:18
|
|
Прохожий
Регистрация: 30.04.2011
Сообщений: 3
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
st_1, kison Спасибо, нашел! Получается, т.к. у меня используется PB5 и PB6, то мне надо чтобы SPI1_REMAP1 был сброшен. Для этого пишу (на всякий случай) SYSCFG-›RMPCR1 = 0x00;.
Инициализация SPI реализована так.
Код:
|
SYSCFG-›RMPCR1 = 0x00;
SPI_DeInit(SPI1);
SPI_Init( SPI1, SPI_FirstBit_MSB, SPI_BaudRatePrescaler_2,
SPI_Mode_Master, SPI_CPOL_High, SPI_CPHA_2Edge,
SPI_Direction_2Lines_FullDuplex, SPI_NSS_Soft, 0x07);
SPI_Cmd(SPI1, ENABLE); |
При отладке, при попытке записать что-либо в SPI использую функцию
Код:
|
void SPI_WriteByte(u8 dat)
{
u8 a;
GPIO_SetBits(GPIOA, RS); //RS High
GPIO_ResetBits(GPIOB, CS); // select LCD
SPI1-›DR=dat;
while(!(SPI1-›SR & (uint8_t)SPI_FLAG_RXNE));
a=SPI1-›DR;
GPIO_SetBits(GPIOB, CS); // deselect LCD
} |
И при первой же попытки записи в SPI происходит зацикливание на проверки флага. Что делаю не так? Во вложении целиком исходник.
Компилирую все в STVD + Ride7.
Заранее спасибо за помощь!
Последний раз редактировалось CAManiak; 13.05.2011 в 11:23.
|
|
|
|
13.05.2011, 12:18
|
|
Прохожий
Регистрация: 30.04.2011
Сообщений: 3
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Добавил в код
Код:
|
CLK_PeripheralClockConfig(CLK_Peripheral_SPI1, ENABLE); |
и теперь все благополучно работает. Вопрос снят.
Возник другой вопрос, где разместить таблицу символов?
если написать так: const unsigned char ascii_tab1[256][14]={ ... };
то получаю ошибку - "***ERROR 107 : ADDRESS SPACE OVERFLOW".
Получается нужно 3,5Кб памяти.
Посмотрел файл stm8l15x.h и сам же нашел ответ:
Код:
|
__CONST unsigned char ascii_tab1[256][14]={ ... }; |
Последний раз редактировалось CAManiak; 13.05.2011 в 18:57.
|
|
|
|
14.05.2011, 16:19
|
|
Частый гость
Регистрация: 14.07.2010
Сообщений: 30
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Здравствуйте,господа !
У меня вопрос-может кто знает .
Я тут немного развлекся с STM8S103F2- это тот у которого флэша 4К.
Использовал среду STVD c библиотеками периферии.
Так вот когда там в раздел "include" указываешь сишный библиотечный файл - так эта среда его полностью компилирует и линкует и потом вытается его весь запихнуть во флэш мк что приводит к нехватке флэша .Приходится из сишного библиофайла доставать используемые процедуры и явно вставлять их в тело программы.Так вот может кто знает- как сделать так чтобы среда не линковала неиспользуемые процедуры из сишного библиофайла и не пихала их во флэш ?
Заранее спасибо !
|
|
|
|
14.05.2011, 16:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от ewseltek
|
Так вот когда там в раздел "include" указываешь сишный библиотечный файл
|
Сишные файлы подключаются не через #include, а добавляются в проект. Щелкните правой кнопкой мышки по названию проекта и выберите:
И STVD это среда. Она на сборку влияет мало, куда важнее тип компилятора.
Для космика нужна опция Split function in Separate section
Она в опциях компилятора.
Последний раз редактировалось kison; 14.05.2011 в 16:58.
|
|
|
|
14.05.2011, 17:27
|
|
Частый гость
Регистрация: 14.07.2010
Сообщений: 30
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Я использую Resonance.
|
|
|
|
14.05.2011, 17:43
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Ну тогда первый совет годится, второй - нет. ![Улыбка](images/smilies/icon_smile.gif) Надо смотреть ключи для райзонансовского компилятора. Доку почитайте, там обычно есть информация.
|
|
|
|
14.05.2011, 17:56
|
|
Частый гость
Регистрация: 14.07.2010
Сообщений: 30
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Читал что было-в основном ничего и не понял.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:02.
|
|