Size: a a a

2020 October 02

AK

Anton Kirilenko in Embedded Group
reg1 |= ( 1 < shift)
источник

AK

Anton Kirilenko in Embedded Group
reg2 &= ~(1 < shift)
источник

AK

Anton Kirilenko in Embedded Group
устаналиваем единицу, устанавливаем ноль соответственно
источник

AK

Anton Kirilenko in Embedded Group
как и на обычном ПЦ с обычным Ц
источник

Д

Дмитрий in Embedded Group
Nikolai
Добрый вечер
Вопрос по транзисторам
Цепляю я 2N3904 NPN транзистор к распбери, т.е. к 3,3 в
нагрузка это вентилятор 0,08А , 5в
Таких схем много в интернете и везде разный номинал,от 1кОм до 15кОм
Посмотрел я как рассчитать и понял не много((((((
я хочу понять какое сопротивление мне надо между базой и GPIO
работает и от 330 ом, но писк слышу, когда ставлю 1кОм, на вентилятор подается 0,07А
Оно зависит от  h11транзистора. Втекающий ток должен быть таким,  чтобы перевести его в состояние полного открытия...
источник

N

Nikolai in Embedded Group
Дмитрий
Оно зависит от  h11транзистора. Втекающий ток должен быть таким,  чтобы перевести его в состояние полного открытия...
hfe?
источник

Д

Дмитрий in Embedded Group
Тюлень Здоровенный
Так, задам ещё один, возможно, странный вопрос. Использую MPLAB и XC8 (PIC).
Как грамотно на Си записывать ноль/единицу в бит какого-то регистра?
Там есть что-то типа portbbits. rb0=0
источник

ТЗ

Тюлень Здоровенный... in Embedded Group
Anton Kirilenko
reg2 &= ~(1 < shift)
Вот, а вместо shift нужно номер бита указывать, верно?
источник

AK

Anton Kirilenko in Embedded Group
ага
источник

Д

Дмитрий in Embedded Group
Не, входной сопротивление :)... Но можно посмотреть по характеристикам...
источник

СС

Сиие Сууие in Embedded Group
Тюлень Здоровенный
Вот, а вместо shift нужно номер бита указывать, верно?
да только там « а не <
источник

AK

Anton Kirilenko in Embedded Group
а, да, два знака <
источник

AK

Anton Kirilenko in Embedded Group
источник

ТЗ

Тюлень Здоровенный... in Embedded Group
Я хочу узнать, можно ли сделать так:

PORTA &= ~( ( 1 << RA4 ) | ( 1 << RA5 ) );

Если RA4 и RA5 записаны вот так в xc8.h:

// PORTA<RA4>
extern volatile __bit                   RA4                 __at(0x64);  // @ (0xC * 8 + 4)
#define                                 RA4_bit             BANKMASK(PORTA), 4
// PORTA<RA5>
extern volatile __bit                   RA5                 __at(0x65);  // @ (0xC * 8 + 5)
#define                                 RA5_bit             BANKMASK(PORTA), 5
источник

AK

Anton Kirilenko in Embedded Group
щас не могу сказать, щас уже почти полночь и я сплю
источник

СС

Сиие Сууие in Embedded Group
Тюлень Здоровенный
Я хочу узнать, можно ли сделать так:

PORTA &= ~( ( 1 << RA4 ) | ( 1 << RA5 ) );

Если RA4 и RA5 записаны вот так в xc8.h:

// PORTA<RA4>
extern volatile __bit                   RA4                 __at(0x64);  // @ (0xC * 8 + 4)
#define                                 RA4_bit             BANKMASK(PORTA), 4
// PORTA<RA5>
extern volatile __bit                   RA5                 __at(0x65);  // @ (0xC * 8 + 5)
#define                                 RA5_bit             BANKMASK(PORTA), 5
что-то я не совсем понимаю
источник

СС

Сиие Сууие in Embedded Group
Тюлень Здоровенный
Я хочу узнать, можно ли сделать так:

PORTA &= ~( ( 1 << RA4 ) | ( 1 << RA5 ) );

Если RA4 и RA5 записаны вот так в xc8.h:

// PORTA<RA4>
extern volatile __bit                   RA4                 __at(0x64);  // @ (0xC * 8 + 4)
#define                                 RA4_bit             BANKMASK(PORTA), 4
// PORTA<RA5>
extern volatile __bit                   RA5                 __at(0x65);  // @ (0xC * 8 + 5)
#define                                 RA5_bit             BANKMASK(PORTA), 5
но так, на всякий случай, если у вас работа с выходами, там есть регист сброса пина (на 32 разрядном пике так точно и правильней использовать его
источник

h

hardegor in Embedded Group
Nikolai
Добрый вечер
Вопрос по транзисторам
Цепляю я 2N3904 NPN транзистор к распбери, т.е. к 3,3 в
нагрузка это вентилятор 0,08А , 5в
Таких схем много в интернете и везде разный номинал,от 1кОм до 15кОм
Посмотрел я как рассчитать и понял не много((((((
я хочу понять какое сопротивление мне надо между базой и GPIO
работает и от 330 ом, но писк слышу, когда ставлю 1кОм, на вентилятор подается 0,07А
Там некоторый диапазон. Макс.сопротивление ограничено током нагрузки деленное h21e, а мин.сопротивление ограничено макс.выходным током ардуины. Ну вот и считаешь по контуру 5В=I*R+0.6
источник

Д

Дмитрий in Embedded Group
Тюлень Здоровенный
Я хочу узнать, можно ли сделать так:

PORTA &= ~( ( 1 << RA4 ) | ( 1 << RA5 ) );

Если RA4 и RA5 записаны вот так в xc8.h:

// PORTA<RA4>
extern volatile __bit                   RA4                 __at(0x64);  // @ (0xC * 8 + 4)
#define                                 RA4_bit             BANKMASK(PORTA), 4
// PORTA<RA5>
extern volatile __bit                   RA5                 __at(0x65);  // @ (0xC * 8 + 5)
#define                                 RA5_bit             BANKMASK(PORTA), 5
Зачем так сложно?  Xc.h подключи и можно пользоваться так PORTAbits.RA5 = 1; любое побитное обращение
источник

h

hardegor in Embedded Group
Еще ток может быть ограничен макс.током базы и скоростью работы - чем больше ток, тем медленне.
источник