21.12.2010, 23:46
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Счас потестим.
Не знал , что это считывание регистра в аккумулятор....
-
Подтверждаю процесс пошел . И без нопов.
kison, большое спасибо !!!
Код:
|
void ls020_wrcmd8(unsigned char cmd)
{
RS=1; //Set RS
CS=0; // select LCD
SPI_DR;
SPI_DR=cmd;
while(!RXNe);
CS=1; // deselect LCD
} |
Хоть и смысла нет(хотя код меньше) , но и это то же так же работает :
Код:
|
void ls020_wrcmd8(unsigned char cmd)
{
RS=1; //Set RS
CS=0; // select LCD
SPI_DR;
SPI_DR=cmd;
//while(!RXNe);
#asm
1$: BTJF _SPI_SR,#0,1$
#endasm
CS=1; // deselect LCD
} |
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 22.12.2010 в 00:12.
|
|
|
|
22.12.2010, 00:22
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Тогда уже лучше
Код:
|
void ls020_wrcmd8(unsigned char cmd)
{
RS=1; //Set RS
CS=0; // select LCD
SPI_DR=cmd;
while(!SPI_SR_bit.RXNE);
a=SPI_DR;
CS=1; // deselect LCD
} |
что-то вытолкнули, что-то прочитали, проверил, работает.
|
|
|
|
22.12.2010, 14:16
|
|
Частый гость
Регистрация: 02.02.2010
Сообщений: 35
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
|
Re: STM8(S/L), первые впечатления
Доброго всем дня!
Сегодня начал разбираться в ассемблерном коде, после компиляции. Сразу возник вопрос по поводу записи "1" и "0" на выводе любого пина.
На СИ:
GPIO_SetBits(GPIOD, GPIO_Pin_1);
GPIOD-›ODR |= GPIO_Pin_1;
На ассемблере приведено на картинке.
Это же что получается, что выставить на пин "1" или "0" занимает чуть ли не 10 тактов? ![Шокирован](images/smilies/icon_eek.gif)
Или можно же всё-таки написать ассемблерную вставку, чтобы выставить на пин "1" или "0" за один такт?
|
|
|
|
22.12.2010, 14:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
|
|
|
|
22.12.2010, 14:33
|
|
Частый гость
Регистрация: 02.02.2010
Сообщений: 35
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
|
Re: STM8(S/L), первые впечатления
Ну а на ассемблере не меньше тактов уйдёт на вывод "0" или "1" ???
Можешь пример написать?
|
|
|
|
22.12.2010, 14:46
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
При правильном написании не меньше. Да вы ветку то сначала прочитайте.
|
|
|
|
22.12.2010, 14:51
|
|
Частый гость
Регистрация: 02.02.2010
Сообщений: 35
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
|
Re: STM8(S/L), первые впечатления
Ну вот ты писал на первой странице вот такую запись:
bcpl 20495,#0
типа инвертируешь бит. Это то уже одна команда.
Значит и выставить 1 или 0 можно тоже одной командой?
|
|
|
|
22.12.2010, 14:58
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
|
|
|
|
22.12.2010, 14:59
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от mac0dee
|
Ну вот ты писал на первой странице вот такую запись:
bcpl 20495,#0
типа инвертируешь бит. Это то уже одна команда.
Значит и выставить 1 или 0 можно тоже одной командой?
|
Можно. Команда bset - установка бита, bres - сброс бита, bcpl - инверсия бита. Именно это и дает нормальный компилятор с включенной оптимизацией.
Последний раз редактировалось Falconist; 14.04.2011 в 00:01.
|
|
|
|
22.12.2010, 17:02
|
|
Частый гость
Регистрация: 02.02.2010
Сообщений: 35
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
|
Re: STM8(S/L), первые впечатления
Поставил новый ИАР
сразу всё поменялось ![Улыбка](images/smilies/icon_smile.gif)
BSET, BRES
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:41.
|
|