24 февраля 2022 года в 5 утра, без объявления войны, россия напала на Украину.

Они пришли "освобождать народ от нацистов и националистов".
С этого момента наша жизнь изменилась на "до" и "после".
Нас освобождают от наших домов, от наших любимых, от наших родителей и от наших детей....
Тут я не буду никого агитировать или переубеждать, разумный человек найдёт всю информацию
в интернете, а для зомби никакие доводы и факты не послужат аргументом.

Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.

«Спасибо дедушка путин за счастливое детство и мое освобождение». ©

Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©

PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...


Due to periodic DDoS attacks, the forum may not be available.

Ппрошу помощи с кодом ATtiny13a

Здесь только проекты на ATtiny
Post Reply
SMDT
Пробегал мимо
Posts: 1
Joined: 31 May 2018 20:21
Location: Москва

Ппрошу помощи с кодом ATtiny13a

Post by SMDT »

Здравствуйте. Откровенно говоря, хотел сам разобраться, но зашел в тупик. Не хватает знаний. Может поможете, или пнете в нужное направление !?
Суть программки - В основном цикле таймер остановлен. При нажатии на кнопку (лог.0), срабатывает внешнее прерывании INT0 и в нем запускается плавно ШИМ от нуля до определенной величины. При отпускании кнопки - уходим опять в вечный цикл. Вроде все работает, но скважность ШИМ постоянно увеличивается и потом уменьшается. И так беcконечно, пока не отпустить кнопку. Как можно исправить этот момент? Подскажите пожалуйста.

Code: Select all

#define F_CPU 1200000UL
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
unsigned int i=0;

void init_pwm()
{
	
	TCCR0A |=(1<<WGM00); // Режим Phase correct PWM, в этом режиме счет идет до 255, а потом обратно до 0
	TCCR0A |=(1<<COM0A1) | (0<<COM0A0); // 0 при 1-м равенстве регистров TCNT0 и OCROA и 1 при 2-м равенстве. (инвертированный ШИМ-сигнал)
	TCCR0B |= (1<<CS01);  // делитель 8
	OCR0A =0;// регистр сравнения
	
	
}
//--------------------------------------------------------------------------
void start_pwm()
{
	
	while(i<95)
	{
		i=i+1;
		OCR0A=i;
		_delay_ms(25);
	}
	
}
//--------------------------------------------------------------------------
void stop_pwm()
{
	TCCR0B= 0x00;
	TCCR0A= 0x00;

	
}
//------------------------------------------------------------------------------
ISR (INT0_vect) /* Объявление функции прерывания INT0 (порт PB1) */

 {

 
    init_pwm();
    start_pwm();
    asm("sei"); // глобальное разрешение  прерываний//

 }


//------------------------------------------------------------------------------


int main(void)
{

	
	DDRB|=(0<<PB1)|(1<<PB0)|(0<<PB4)|(1<<PB2);
	PORTB=0b00010010;
	MCUCR |= (0<<ISC01)|(0<<ISC00); // Низкий уровень на INT0 генерирует запрос прерывание//
	GIMSK |= (1<<INT0); //Разрешение работы прерывания INT0 на выводе PB1//
	GIFR= 0x00; // Флаг прерываний//
	TIMSK0|=(1<<OCIE0B);
		
	init_pwm();
	asm("sei"); //глобальное разрешение  прерываний//
	
	while(1)
	{
	   stop_pwm();
 	}
	
	
	

}

Post Reply