Парни! есть кто в "СИ" силен???
В
Валера
на профильном мертвецки все, три сообщения за двое суток. Извините, что тут.
Почему не выходит в CodeVision порту PB0 присвоить противоположное значение так:
PORTB &= ~(PB0);
на синтаксис ругается: Error: c(45): undefined symbol 'PB0'
Что с символом не так??
Или как изменить значение на противоположное - PORTB0 . Мозг мой чайниковый застрял
Почему не выходит в CodeVision порту PB0 присвоить противоположное значение так:
PORTB &= ~(PB0);
на синтаксис ругается: Error: c(45): undefined symbol 'PB0'
Что с символом не так??
Или как изменить значение на противоположное - PORTB0 . Мозг мой чайниковый застрял
Мозг мой чайниковый застрял
у тебя он хоть есть
а вот мой уже поломан после прочтения вот этого
a
\/ampire
изменить значение на противоположное
PORTB ^= _BV(PB0);
PORTB ^= _BV(PB0);
И
ИМЗ
а вот мой уже поломан после прочтения вот этого
Засчитывается как попытка помочь
В
Валера
PORTB ^= _BV(PB0);
Error: c(45): undefined symbol '_BV'
фиг знает ругается!! что не хватает?? а для '_BV' надо какие нибудь описания выше?? или все из стандартной библиотеки??
так написал:
понимаю, что быдлокод но работает!!
if(PINB.0==0)
{
PORTB.0=1;
{
else
{
PORTB.0=0;
};
Все равно как то можно просто и в одну строчку
a
\/ampire
Ну если не описано то надо объявить
#define _BV(x) (1<<(x))
[Сообщение изменено пользователем 02.09.2015 17:33]
#define _BV(x) (1<<(x))
[Сообщение изменено пользователем 02.09.2015 17:33]
a
\/ampire
Бортовой комп ваяешь?
В
Валера
надо объявить
не фига !! Error: c(48): undefined symbol 'PB0'
вот кусок цикла который хочу вставить в другое место:
Chip type : ATtiny13A
AVR Core Clock frequency: 1.200000 MHz
Memory model : Tiny
External RAM size : 0
Data Stack size : 16
*****************************************************/
#include <tiny13a.h>
#include <delay.h>
unsigned char b, trig;
#define _BV(x) (1<<(x))
void main(void)
{
PORTB=0x36;
DDRB=0x09;
ACSR=0x80;
#asm("sei")
while (1)
{
if (trig==0) // проверяем если b=0 то
{
b++; // увеличиваем на 1
PORTB ^= _BV(PB0);
delay_ms(100);
}
if (b>10) // как стало 10 то...
{
PORTB.0=0;
trig=1; // надо!! записать 1 перед сбросом
b=0; // сбрасываем
}
}
}
В
Валера
Бортовой комп ваяешь?
не !! умную реле поворотов для мотика
a
\/ampire
Так тут PB - это просто константа для визуализации кода, чтобы потом не пялиться и не думать - а что это у тебя за Ноль
Объяви порты
/* PORTB */
#define PB7 7
#define PB6 6
#define PB5 5
#define PB4 4
#define PB3 3
#define PB2 2
#define PB1 1
#define PB0 0
Объяви порты
/* PORTB */
#define PB7 7
#define PB6 6
#define PB5 5
#define PB4 4
#define PB3 3
#define PB2 2
#define PB1 1
#define PB0 0
В
Валера
Ура!!!!!!!!
заработало!!!!
#define PB0 0 не хватало!!!!! как хорошо, что не все алкаши пропоицы!!! есть у кого спросить!!!
спасибо!!!
заработало!!!!
#define PB0 0 не хватало!!!!! как хорошо, что не все алкаши пропоицы!!! есть у кого спросить!!!
спасибо!!!
a
\/ampire
#define PB0 0 не хватало!!!!! как хорошо, что не все алкаши пропоицы!!!
Я просто думал, что это очевидно...
А по поводу алкашей - я и выпить не дурак!!!
В
Валера
Я просто думал, что это очевидно...
для тех кто с этим общается!! я ламер. на асамблере немного писал, Си неделю как всякие учебники штудирую. Интересная херня!! засасывает....
А по поводу алкашей - я и выпить не дурак!!!
с не дураками всегда приятно напиться!!! я тоже люблю это дело
J
John Dow
Интересная херня!! засасывает....
Ты эта.. того смотри...подсядешь, потом глубже полезеш, инкапсуляции, параллельные вычисления ь..и все..понеслась жизь под откос... и уже не вырваться
H
HotGuy
того смотри...подсядешь, потом глубже полезеш, инкапсуляции, параллельные вычисления ь..и все..понеслась жизь под откос... и уже не вырваться
а потом искусственный интеллект и восстание машин - все же терминаторов в виде мотоциклов помнят
H
Hvost
Для восьмиразрядного можно ещё так мозг засрать. :-)
PORTB&0x01 ? PORTB&0xFE : PORTB|0x01;
PORTB &= ~(PB0);
PORTB&0x01 ? PORTB&0xFE : PORTB|0x01;
В
Валера
PORTB&0x01 ? PORTB&0xFE : PORTB|0x01;
Тоже работает!!!!!!
тут я в правилах написания вообще не силен!! взяли значение 0x01 младшего разряда - инвертировали - " | " эта херь это присвоили значение что ли порту Б младшему разряду???
а промежуточные вычисления компилятор куда засылает??? вдруг там что нибудь ни так
Когда напрямую воздействуешь - как то понятнее для меня. Тот я еще чайник.
H
Hvost
в правилах написания
На 51-ом асме это выглядело бы так:
JNB P1.0, L1
CLR P1.0
SJMP $+2
L1: SETB P1.0
:-)
T
TayLoong
Ты эта.. того смотри...подсядешь, потом глубже полезеш, инкапсуляции, параллельные вычисления ь..и все..
Не заметишь как свитер вырастет.
J
John Dow
Не заметишь как свитер вырастет.
Угу..а объем кофейной кружки увеличиться до 600 мл.
Z
ZyrinVV
на счет кружки подтверждаю ))) у самого на данный момент 0.5л.
программлю в основном на C# (WinForms, WCF, WPF), затянуло по полной...
программлю в основном на C# (WinForms, WCF, WPF), затянуло по полной...
a
\/ampire
Кружок программистов?
J
John Dow
Кружок программистов?
почему кружок ? Н мерный куб.
Авторизуйтесь, чтобы принять участие в дискуссии.