-
Datei
Hubtisch_PWM.ino
int I1,I2,I3,I4; int Q1 = 0; int Q2 = 0; void setup() { Serial.begin(115200); pinMode(2, INPUT_PULLUP); pinMode(3, INPUT_PULLUP); pinMode(4, INPUT_PULLUP); pinMode(5, INPUT_PULLUP); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); digitalWrite(7, LOW); digitalWrite(8, LOW); analogWrite(9, 0); } void loop() { I1 = digitalRead(2); //Taste Hoch I1 = !I1; I2 = digitalRead(3); //Taste Runter I2 = !I2; I3 = digitalRead(4); //Tisch ist Oben I3 = !I3; I4 = digitalRead(5); //Tisch ist Unten / Quetschsensor I4 = !I4; //Q1 = Motor Hoch if(I3&!Q2&!I2&&I1){ Q1=1; } if(Q1&&(!I3|!I1)){ Q1=0; } //Q2
in „Steuerung für höhenverstellbaren Schreibtisch“ · Projekte & Code ·
-
Datei
tb_PWM.vhd
library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity tb_PWM is end tb_PWM; architecture tb of tb_PWM is component PWM is port( clk : in std_logic; input : in std_logic; output : out std_logic ); end component; signal clk : std_logic := '1'; signal input : std_logic
-
Datei
PWM_Sinus.ino
Sinussignalerzeugung mittels DDS Ausgabe von zwei Sinussignalen mit vaiabler Frequenz, Amplitude und Phase mittels PWM Auflösung der Variablen R(frequenz) : F_PWM / 2^16 = 62,5kHz / 65536 = 0,95367Hz R(phase) : 360° / 256 = 1,4° = 0,025 rad R(amplitude): 1 / 256 = 0,39% */ #include <util/atomic.h> #define F_PWM 62500L // Hz #define PRESCALER 1 #define TIMER_RELOAD ((F_CPU / ( PRESCALER * F_PWM) -1)) // Fast PWM #define DELAY 20 // ms, Pause für Zwischenschritte im Demo #define LOOPS 1 // Anzahl Schleifen pro Modulationsdemo // Variablen volatile uint16_t frequenz; volatile uint8_t amplitude
in „Arduino Micro SPWM“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
pwm2.vhd
std_logic; Out2 : out std_logic); end pwm2; architecture Beh_pwm2 of pwm2 is signal count: integer range 0 to 255 := 255; signal treshold: integer range 0 to 255 := 0; --signal speed: integer range 0 to 255; begin Motor: process (all) begin if rising_edge (CLK) then Out2 <= '0'; PWM <= '0'; if count = treshold then PWM <= '0'; end if; if count = 255 then count <= 1; PWM <= '1'; --Treshold <= PWM_Value; if PWM_Value = 0 then PWM <= '0'; Out2 <= '0'; end if; else count <= count+1
in „DC Motor, PWM, Drehrichtung, Drehzahl“ · FPGA, VHDL & Co. ·
-
Datei
pwm2.vhd
---------------------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.numeric_std.all; entity pwm2 is port( CLK : IN std_logic; SW : IN std_logic_vector (5 downto 0); PWM_Value : IN std_logic_vector (7 downto 0); PWM : OUT std_logic; Out2 : OUT std_logic); end pwm2; architecture Beh_pwm2 of pwm2
in „DC Motor, PWM, Drehrichtung, Drehzahl“ · FPGA, VHDL & Co. ·
-
Datei
_wf_pwm.ino
void setup() { pinMode(5, OUTPUT); digitalWrite(5, LOW); pinMode(6, OUTPUT); digitalWrite(6, LOW); pinMode(9, OUTPUT); digitalWrite(9, LOW); pinMode(10, OUTPUT); digitalWrite(10, LOW); bitSet (TCCR0B, CS20); bitClear (TCCR0B, CS21); bitClear (TCCR0B, CS22); bitClear (TCCR0A, COM0A0); bitSet (TCCR0A, COM0A1); bitSet (TCCR0A, COM0B0); bitSet (TCCR0A, COM0B1); bitSet (TCCR0A, WGM20); bitClear (TCCR0A, WGM21); bitClear (TCCR0B, WGM22); bitSet (TCCR1B, CS20); bitClear (TCCR1B, CS21); bitClear (TCCR1B, CS22); bitClear (TCCR1A, COM1A0); bitSet (TCCR1A, COM1A1); bitSet (TCCR1A, COM1B0); bitSet (TCCR1A
in „µC - BUCK - BOOST Konverter“ · Analoge Elektronik und Schaltungstechnik ·
-
Datei
adc_pwm.c
8.000.000Hz / 64 = 125.000Hz) ADCSRA = (1<<ADEN); ADCSRA = (1<<ADPS2) | (1<<ADPS1) | (0<<ADPS0); } void pwm_init(){ //PWM-Pins als Ausgang setzen DDRA |= (1<<OCR1A) | (1<<OCR0B) | (1<<OCR1B); DDRB |= (1<<OCR0A); //Timer 0 (8 Bit) //Löschen von Bits: OC0A/OC0B Bit 7 + 6 //Art der Wellenform erzeugung: PWM,
in „ADC und PWM am ATtiny84“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
pwm_control.c
B atomic(OCR4B=top>>1); // 50% pwm #else #if PWM_STEP == 5 TCCR5B=bit(WGM53)|bit(WGM52)|bit(COM5C0); // CTC mode, ICR , toggle B atomic(OCR4C=top>>1); // 50% pwm #else #error "wrong definition of pwm-step" #endif #endif #endif //TIMSK5=bit(TOIE5); PWM_STEP_DDR|=1<<PWM_STEP; PWM_STEP_PORT&=~bit(PWM_STEP); //TCCR5B|=bit(WGM53)|prescaler ; // 1-5 1 - 8 - 64 - 256 - 1024 TCCR5B|=bit(WGM53); // 1-5 1 - 8 - 64 - 256 - 1024 TCCR5B|=bit(WGM53)|prescaler;
in „brauche Hilfe bei WDT und PWM mega2560“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
tb_PWM.vhd
Engineer: -- -- Create Date: 15:45:47 02/17/2016 -- Design Name: -- Module Name: C:/Projekte/FPGA/PWM_skalierbar/tb_PWM.vhd -- Project Name: PWM_skalierbar -- Target Device: -- Tool versions: -- Description: -- -- VHDL Test Bench Created by ISE for module: PWM -- -- Dependencies: -- -- Revision: --
-
Datei
PWM_Steller.c
************* DDRB = 0xff; // PortB Ausgänge DDRC = 0x00; // PortC Eingänge // **** Einrichten von PWM Betrieb *************************************************************** // Der Timer 0 wird im Fast PWM Modus betrieben TCCR0 = ((1 <<WGM01)|(1<<WGM00)) ;// waveform generation mode auf "Fast PWM" setzen
in „[C] ADC --> PWM“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
pwm_sync.c
#include <avr/io.h> #include <avr/interrupt.h> #include "usbdrv.h" int volatile steps = 0; static uchar replyBuf[16]; ISR(TIMER0_OVF_vect){ steps++; PORTB ^= _BV(PB1); TCNT0 = 200; } ISR(INT1_vect){ TCCR0 &= ~_BV(CS00) & ~_BV(CS01) & ~_BV(CS02); sprintf(replyBuf, "Steps: %i", steps); } USB_PUBLIC uchar usbFunctionSetup(uchar data[8]){ usbRequest_t *rq = (void *)data; switch(rq->bRequest){ case 1: TCCR0 |= _BV(CS02); return 0; case 0: // send data to PC usbMsgPtr = replyBuf; return sizeof(replyBuf); } return 0; } int main(){ TIMSK |= _BV(TOIE0); TCNT0 = 200; TCCR0 &= ~_BV(CS00) & ~_BV(CS01) & ~_BV
in „Timer2 wie Timer0 nutzen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
PWM_Leo.ino
#define pulsPin 10 // OC1B bzw. PB6 #define IN1 0 #define IN2 1 #define IN3 2 #define IN4 3 uint8_t taste, taste_alt; void setup() { pinMode(pulsPin, OUTPUT); digitalWrite(pulsPin, HIGH); // OC1B bzw. PB6 pinMode(IN1, INPUT_PULLUP); pinMode(IN2, INPUT_PULLUP); pinMode(IN3, INPUT_PULLUP); pinMode(IN4, INPUT_PULLUP); pinMode(13, OUTPUT); digitalWrite(13, HIGH); // VCC close to pulsPin for indicator LED active LOW DDRF = B11111111; PORTF = 0; } void loop() { taste = 0; if(!digitalRead(IN1)) taste = 1; // höchste Priorität else if(!digitalRead(IN2)) taste = 2; else if(!digitalRead(IN3)) taste = 3;
in „Präzise Pulse aus Arduino Leonardo“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
PWM_Leo.ino
#define pulsPin 10 // OC1B bzw. PB6 #define IN1 0 #define IN2 1 #define IN3 2 #define IN4 3 uint8_t taste, taste_alt; void setup() { pinMode(pulsPin, OUTPUT); digitalWrite(pulsPin, HIGH); // OC1B bzw. PB6 pinMode(IN1, INPUT_PULLUP); pinMode(IN2, INPUT_PULLUP); pinMode(IN3, INPUT_PULLUP); pinMode(IN4, INPUT_PULLUP); pinMode(13, OUTPUT); digitalWrite(13, HIGH); // VCC close to pulsPin for indicator LED active LOW DDRF = B11111111; PORTF = 0; } void loop() { taste = 0; if(!digitalRead(IN1)) taste = 1; // höchste Priorität else if(!digitalRead(IN2)) taste = 2; else if(!digitalRead(IN3)) taste = 3;
in „Präzise Pulse aus Arduino Leonardo“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
PWM_Test.txt
#include <Arduino.h> int ledPin = 3; int pwmValue = 0; //------------------------------------------------------------------------------ // FUNKTION SETUP //------------------------------------------------------------------------------ void setup
in „Mit dem ATMEL STUDIO 7 klarkommen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
PWM_Sinus.ino
Sinussignalerzeugung mittels DDS Ausgabe von zwei Sinussignalen mit vaiabler Frequenz, Amplitude und Phase mittels PWM Auflösung der Variablen R(frequenz) : F_PWM / 2^16 = 15,625kHz / 65536 = 0,238Hz R(phase) : 360° / 256 = 1,4° = 0,025 rad R(amplitude): 1 / 256 = 0,39% */ #include <util/atomic.h> #define F_PWM 15625
in „E-Magnet mit Sinus steuern“ · Analoge Elektronik und Schaltungstechnik ·
-
Datei
SimplePWM.ino
content of the HTTP response follows the header: client.print("Click <a href=\"/H\">here</a> to turn the PWM on.<br>"); client.print("Click <a href=\"/L\">here</a> to turn the PWM off off.<br>"); // The HTTP response ends with another blank line: client.println(); // break out of the while loop: break; } else
in „einfacher Webserver am ESP32“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
pwm_test.ino
#define PWM_CT2_B 3 //OC2B #define Vout A0 #define Vin A1 // 15us = 64khz // 120us = 8 khz #define maxpwm 164 int pwm = maxpwm-1; #define dotrack unsigned long nextmeasTime; unsigned long measInterval = 1000 *
in „Wir basteln einen arduino MPP lader.“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
pwm_flyback.ino
#define PWM_CT2_A 11 //OC2A #define PWM_CT2_B 3 //OC2B // LGT8F328P has 12 bits. #define maxpwm 255 void ct2_init() { pinMode(PWM_CT2_A,OUTPUT); pinMode(PWM_CT2_B,OUTPUT); TCCR2A = (1 << COM2B1)|(1 << COM2A1)|(
-
Datei
pwm_varpause.ino
#define PWM_CT1_A 9 //OC1A #define PWM_CT1_B 10 //OC1B #define maxpwm 250 #define minpause 256 uint16_t pwm = 32; uint16_t pause = 256; void ct1_init() { pinMode(PWM_CT1_B,OUTPUT); // 64 khz TCCR1A = (1 << COM1B1
-
Datei
pwm_mpp.ino
) { pinMode(PWM_CT1_B,OUTPUT); // 64 khz TCCR1A = (1 << COM1B0)|(1 << COM1B1)|(1 << WGM11)|(1 << WGM10); //fast PWM INV 10bit TCCR1B = (1 << CS10)|(1 << WGM12); // prescaler 0 OCR1B = 1; // pwm value } void setup()
in „Hab meinen MPP(T) akkulader probiert :)“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
PWM_Motor.PDF
Wago picoMAX) E PR1 PI6 PIU31A VCCPI30 100nF/50V TP14 P5 STF20N95K5 I 1k6 GND_PWR Q5 HH UDSmax = 950V PWM Motor out D PI30 P11 PI0 PPI51 STF20N95K5 ID = 17.5A IMPORTANT! M PT CR17 RDSon = <0.330R Place current sensor so that the PWP TP15 PP1 PIU33 PI30 TP16 100R UGSth = 3.0 ...5.0V current trough the freewheeling
in „PWM HVDC Motor Ansteuerung“ · Analoge Elektronik und Schaltungstechnik ·
-
PDF
-
Bild
C-Programmcode für Mikrocontroller PWM-Initialisierung
USERTCBx USERTCB3 #define CHANNELx EVSYS.CHANNEL3 #define EV_CHANNEL EVSYS_CHANNEL_CHANNEL3_gc void PWM_shot_init (void) { // Setze Port als input event CHANNELx = PORTx_PINx; // Verbinde zu event channel 3 EVSYS.USERTCBx = EV_CHANNEL; // Aktiviere TCB ohne Prescaler TCBx.CTRLA = TCB_CLKSEL_CLKDIV1_gc
in „Timer Counter B als PWM Messung“ · Mikrocontroller und Digitale Elektronik · · Screenshots
-
Datei
channels.c
#include "../header/system.h" void channels_init(void) { PWM_DDRA = 0xFF; // Port als Ausgang PWM_DDRB = 0xFF; PWM_DDRC = 0xFF; PWM_DDRE = 0xFF; PWM_PORTA &= ~(1<<PA0); PWM_PORTA &= ~(1<<PA1); PWM_PORTA &= ~(1<<PA2); PWM_PORTA &= ~(1<<PA3); PWM_PORTA &= ~(1<<PA4); PWM_PORTA &= ~(1<<PA5); PWM_PORTA &= ~(1<<PA6); PWM_PORTA &= ~(1<<PA7); PWM_PORTB &= ~(1<<PB0); PWM_PORTB &= ~(1<<PB1); PWM_PORTB &= ~(1<<PB2); PWM_PORTB &= ~(1<<PB3); PWM_PORTB &= ~(1<<PB4); PWM_PORTB
in „Wie macht man solche Lichtmodes? Lauflicht, PWM und Co“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
eeprom.c
header/system.h" uint16_t eeDefaultExist EEMEM = 20; uint16_t eeAutosaveTime EEMEM = 24; uint16_t eePWM_MODE1CH1 EEMEM = 25; uint16_t eePWM_MODE1CH2 EEMEM = 26; uint16_t eePWM_MODE1CH3 EEMEM = 27; uint16_t eePWM_MODE1CH4 EEMEM = 28; uint16_t eePWM_MODE1CH5 EEMEM = 29; uint16_t eePWM_MODE1CH6 EEMEM = 30; uint16_t eePWM_MODE1CH7 EEMEM = 31; uint16_t eePWM_MODE1CH8 EEMEM = 32; uint16_t eePWM_MODE1CH9 EEMEM = 33; uint16_t eePWM_MODE1CH10 EEMEM = 34; uint16_t eePWM_MODE1CH11 EEMEM = 35; uint16_t eePWM_MODE1CH12 EEMEM
in „Wie macht man solche Lichtmodes? Lauflicht, PWM und Co“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Lamp_v0_small.bas
' Up If In_pwm_up = 0 Then Do ' PWM 1 If In_pwm1 = 0 Then If Pwm_1_rate < 255 Then Pwm_1_rate = Pwm_1_rate + 1 End If Set_beam_pwm Pwm_1_rate End If ' PWM 2 If In_pwm2 = 0 Then If Pwm_2_rate < 255 Then Pwm_2_rate
in „PWM über 2 taster regelbar“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
#include <avr/io.h> #include <avr/interrupt.h> #define PWM_MAX 32 // PWM_MAX: Anzahl Helligkeitsstufen #define PWM_CHANNELS 16 // PWM_CHANNELS: Anzahl PWM Kanäle // Makro zur einfacheren Handhabung #define pwm_setting(channel, value) pwm_value[channel] = PWM_MAX - value volatile unsigned int pwm_value[PWM_CHANNELS]; /** PWM Generierung * pwm_timer zählt kontinuierlich von PWM_TOP nach 0 hinunter. * Bei 0 werden die Ausgänge eingeschaltet und wenn die Bedingung * pwm_timer < pwm_value erfüllt
in „Zweidimensionales 'array' für 'switch' Anweisung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
PWM_PRESCALER 8 // Vorteiler für den Timer #define PWM_STEPS 256 // PWM-Schritte pro Zyklus(1..256) #define PWM_PORT PORTD // Port für PWM #define PWM_DDR DDRD // Datenrichtungsregister für PWM #define PWM_CHANNELS 8 // Anzahl der PWM-Kanäle // ab hier nichts ändern, wird alles berechnet #define T_PWM (F_CPU/(PWM_PRESCALER*F_PWM*PWM_STEPS)) // Systemtakte pro PWM-Takt //#define T_PWM 1 //TEST #if ((T_PWM
in „Soft-PWM Version 3: Probleme beim Anpassen des Programms“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
PWM_PRESCALER 8 // Vorteiler für den Timer #define PWM_STEPS 256 // PWM-Schritte pro Zyklus(1..256) #define PWM_PORT PORTD // Port für PWM #define PWM_DDR DDRD // Datenrichtungsregister für PWM #define PWM_CHANNELS 8 // Anzahl der PWM-Kanäle // ab hier nichts ändern, wird alles berechnet #define T_PWM (F_CPU/(PWM_PRESCALER*F_PWM*PWM_STEPS)) // Systemtakte pro PWM-Takt //#define T_PWM 1 //TEST #if ((T_PWM
in „Soft-PWM Version 3: Probleme beim Anpassen des Programms“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Xmega_test_7_PWM.c
// PWM-Frequenz in Hz #define PWM_PRESCALER 8 // Vorteiler für den Timer #define PWM_STEPS 256 // PWM-Schritte pro Zyklus(1..256) #define PWM_PORT PORTD.OUT // Port für PWM #define PWM_DDR PORTD.DIR // Datenrichtungsregister für PWM #define PWM_CHANNELS 8 // Anzahl der PWM-Kanäle // ab hier nichts ändern, wird alles berechnet #define T_PWM (F_CPU/(PWM_PRESCALER*F_PWM*PWM_STEPS)) // Systemtakte pro PWM-Takt //#define T_PWM 1 //TEST
in „AtXmega Software PWM (Bsp aus Forum)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
RGB.c
PWM_CHANNELS 8 // Anzahl der PWM-Kanäle // ab hier nichts ändern, wird alles berechnet #define T_PWM (F_CPU/(PWM_PRESCALER*F_PWM*PWM_STEPS)) // Systemtakte pro PWM-Takt //#define T_PWM 1 //TEST //#if ((
in „Soft PWM noch zu schnell“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
PWM_Controller_Manual_normal.pdf
Wert 7 PWM Kanal 7 R/W PWM Kanal - Wert 8 PWM Kanal 8 R/W PWM Kanal - Wert 9 PWM Kanal 9 R/W PWM Kanal - Wert 0A PWM Kanal 10 R/W PWM Kanal - Wert 0B PWM Kanal 11 R/W PWM Kanal - Wert 0C PWM Kanal 12 R/W PWM Kanal - Wert 0D PWM Kanal 13 R/W PWM Kanal - Wert 0E PWM Kanal 14 R/W PWM Kanal - Wert 0F PWM Kanal 15 R/W PWM Kanal - Wert 10 PWM Kanal 16 R/W PWM Kanal - Wert 11 PWM Kanal 17 HB R/W PWM Kanal High_Byte - Wert 12 PWM
in „18- Kanal PWM Controller TWI(IIC)Interface FW. V.3“ · Projekte & Code ·
-
Datei
treppenlicht.c
PWM_PRESCALER 8 // Vorteiler für den Timer #define PWM_STEPS 256 // PWM-Schritte pro Zyklus(1..256) #define PWM_PORT_1 PORTD // Port für PWM #define PWM_DDR_1 DDRD // Datenrichtungsregister für PWM #define
in „Einschaltverzögerung Bodenstrahler mit BM“ · Haus & Smart Home ·
-
PDF
PWM_Controller_Manual_ohne_EEPROM.pdf
Wert 7 PWM Kanal 7 R/W PWM Kanal - Wert 8 PWM Kanal 8 R/W PWM Kanal - Wert 9 PWM Kanal 9 R/W PWM Kanal - Wert 0A PWM Kanal 10 R/W PWM Kanal - Wert 0B PWM Kanal 11 R/W PWM Kanal - Wert 0C PWM Kanal 12 R/W PWM Kanal
in „18- Kanal PWM Controller TWI(IIC)Interface FW. V.3“ · Projekte & Code ·
-
Datei
SW_PWM_MC.c
PWM_PRESCALER 8 // Vorteiler für den Timer #define PWM_STEPS 256 // PWM-Schritte pro Zyklus(1..256) #define PWM_PORT PORTA // Port für PWM #define PWM_DDR DDRA // Datenrichtungsregister für PWM #define PWM_CHANNELS 5 // Anzahl der PWM-Kanäle // ab hier nichts ändern, wird alles berechnet #define T_PWM (F_CPU/(PWM_PRESCALER*F_PWM*PWM_STEPS)) // Systemtakte pro PWM-Takt //#define T_PWM 1 //TEST #if ((T_PWM
in „Soft-PWM auf Attiny461“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Reislampe3.cc
PWM_PRESCALER 8 // Vorteiler für den Timer #define PWM_STEPS 256 // PWM-Schritte pro Zyklus(1..256) #define PWM_PORT PORTB // Port für PWM #define PWM_DDR DDRB // Datenrichtungsregister für PWM #define PWM_CHANNELS 8 // Anzahl der PWM-Kanäle // ab hier nichts ändern, wird alles berechnet #define T_PWM (F_CPU/(PWM_PRESCALER*F_PWM*PWM_STEPS)) // Systemtakte pro PWM-Takt //#define T_PWM 1 //TEST #if ((T_PWM
in „error: invalid types 'bool[int]' for array subscript“ · Mikrocontroller und Digitale Elektronik ·
-
Bild
Mehrere ST Nucleo-L073RZ Mikrocontroller-Boards
NUCLEO-L073RZ, STM32, www.st.com/stm32nucleo, MB11319B, PWM/MOS/D1, PWM/D2, PWM/D3, PWM/D4, PWM/D5, PWM/D6, PWM/D7, PWM/D8, PWM/D9, PWM/D10, PWM/D11, PWM/D12, PWM/D13, PWM/D14, PWM/D15, PWM/D16, PWM/D17, PWM/D18, PWM/D19, PWM/D20, PWM/D21, PWM/D22, PWM/D23, PWM/D24, PWM/D25, PWM/D26, PWM/D27, PWM/D28, PWM/D29, PWM/D30, PWM/D31, PWM/D32, PWM/D33, PWM/D34, PWM/D35, PWM/D36, PWM/D37, PWM/D38, PWM/D39, PWM/D40, PWM/D41, PWM/D42, PWM/D43, PWM/D44, PWM/D45, PWM/
in „[V] Diverse STM32 Nucleo Boards“ · Markt · · Platinenfotos
-
Datei
Soft-PWM_SPI.c
an den Controller und die Anwendung anpassen #define F_CPU 16000000L // Systemtakt in Hz #define F_PWM 200L // PWM-Frequenz in Hz #define PWM_PRESCALER 8 // Vorteiler für den Timer #define PWM_STEPS 256 // PWM-Schritte pro Zyklus(1..256) #define PWM_PORT PORTC // Port für PWM #define PWM_DDR DDRC // Datenrichtungsregister für PWM #define PWM_CHANNELS 8 // Anzahl der PWM-Kanäle // ab hier nichts ändern, wird alles berechnet #define T_PWM (F_CPU/(PWM_PRESCALER*F_PWM*PWM_STEPS)) // Systemtakte pro PWM-Takt //#define T_PWM 1 //TEST
in „Problem mit SPI gesteuerter Soft-PWM“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LED_Kerze.c
für PWM #define PWM_CHANNELS 8 // Anzahl der PWM-Kanäle // ab hier nichts ändern, wird alles berechnet #define T_PWM (F_CPU/(PWM_PRESCALER*F_PWM*PWM_STEPS)) // Systemtakte pro PWM-Takt //#define T_PWM 1 //TEST #if ((T_PWM*PWM_PRESCALER)<(111+5)) #error T_PWM zu klein, F_CPU muss vergrösst werden oder F_PWM oder PWM_STEPS verkleinert werden #endif #if ((T_PWM*PWM_STEPS)>65535) #error Periodendauer der PWM zu gross! F_PWM
in „Aussetzer bei einfacher Soft-PWM Anwendung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
PORTC #define AUSGANG3_DDR DDRB #define AUSGANG3_PORT PORTB #define PWM_CHANNELS 24 // Anzahl der PWM-Kanäle // ab hier nichts ändern, wird alles berechnet #define T_PWM (F_CPU/(PWM_PRESCALER*F_PWM*PWM_STEPS)) // Systemtakte pro PWM-Takt //#define T_PWM 1 //TEST #if ((T_PWM*PWM_PRESCALER)<(111+5)) #error T_PWM zu klein, F_CPU muss vergrösst werden oder F_PWM oder PWM_STEPS verkleinert werden #endif #if ((T_PWM*PWM_STEPS)>65535) #error Periodendauer der PWM zu gross! F_PWM
in „PWM Programm erweitern“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
onoff.c
#include "main.h" void init_onoff(void) { // A Channels PWMADDR |= (1<<PWM1PIN); PWMADDR |= (1<<PWM2PIN); PWMADDR |= (1<<PWM3PIN); PWMADDR |= (1<<PWM4PIN); PWMADDR |= (1<<PWM5PIN); PWMADDR |= (1<<PWM6PIN); PWMADDR |= (1<<PWM7PIN); PWMADDR |= (1<<PWM8PIN); // C Channels PWMCDDR |= (1<<PWM9PIN); PWMCDDR |= (1<<PWM10PIN); PWMCDDR |= (1<<PWM11PIN); PWMCDDR |= (1<<PWM12PIN); PWMCDDR |= (1<<PWM13PIN); PWMCDDR |= (1<<PWM14PIN); PWMCDDR |= (1<<PWM15PIN); PWMCDDR |= (1<<PWM16PIN); // B Channels
in „EEPROM Adresse über 255 und SOFT PWM Frage/Anliegen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
dmx-led-module.c
define PWM_STEPS 255 // PWM-Schritte pro Zyklus(1..256) // ab hier nichts ändern, wird alles berechnet //#define T_PWM (F_CPU/(F_PWM*PWM_STEPS)) // Systemtakte pro PWM-Takt #define T_PWM 1 //TEST #if (T_PWM<160
in „AVR Studio Bug, falsches Register wird geladen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Xmega_test_7_PWM.c
#define PWM_PRESCALER 8 // Vorteiler für den Timer #define PWM_STEPS 256 // PWM-Schritte pro Zyklus(1..256) #define PWM_PORT PORTD.OUT // Port für PWM #define PWM_DDR PORTD.DIR // Datenrichtungsregister für PWM #define PWM_CHANNELS 8 // Anzahl der PWM-Kanäle // ab hier nichts ändern, wird alles berechnet #define T_PWM (F_CPU/(PWM_PRESCALER*F_PWM*PWM_STEPS)) // Systemtakte pro PWM-Takt //#define T_PWM 1 //TEST #if ((T_PWM
in „AtXmega Software PWM (Bsp aus Forum)“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
PWM_Controller_Manual_Basic.pdf
13 PWM Kanal 14 PWM Kanal 15 PWM Kanal 16 PWM Kanal 17 HB Hardware PWM Kanal 17 LB PWM PWM Kanal 18 HB Channels PWM Kanal 18 LB Control_Reg PWM_CNTR_ADDR CS_Soft_PWM CS_HW_PWM_16 Hardware Settings space Res_HW_PWM_HB
in „PWM- Controller 18- Kanal TWI- Bus Proj.“ · Projekte & Code ·
-
Datei
Fire-PWM-Controller.c
, 255 }, { 10, 200, 20, 0, 0 }, { 100, 50, 20, 100, 255 } }; // Globale Variablen volatile uint8_t pwm_en_mask = 0; uint8_t pwm_set[PWM_CHANNELS] = PWM_INIT_VALUES; uint8_t pwm_mode[PWM_CHANNELS]; uint8_t pwm_cnt[PWM_CHANNELS]; uint8_t pwm_mask_arr1[PWM_CHANNELS+1]; uint8_t pwm_mask_arr2[PWM_CHANNELS+1]; uint8_t pwm_next_arr1[PWM_CHANNELS]; uint8_t pwm_next_arr2[PWM_CHANNELS]; volatile uint8_t valid_buf = 0; volatile uint8_t pwm_i_max = 0; volatile uint8_t pwm_i_max_buf = 0; uint8_t *pwm_mask = pwm_mask_arr1; uint8
in „Soft-PWM hängt sich auf“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
ändern, wird alles berechnet #define T_PWM (F_CPU/(PWM_PRESCALER*F_PWM*PWM_STEPS)) // Systemtakte pro PWM-Takt #if ((T_PWM*PWM_PRESCALER)<(111+5)) #error T_PWM zu klein, F_CPU muss vergrössert werden oder F_PWM oder PWM_STEPS verkleinert werden #endif #if ((T_PWM*PWM_STEPS)>65535) #error Periodendauer der PWM zu gross! F_PWM oder PWM_PRESCALER erhöhen. #endif // globale Variablen uint16_t pwm_timing[PWM_CHANNELS+1]; // Zeitdifferenzen der PWM Werte uint16_t
in „Xmega Soft-PWM“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
SchieberegisterSterne.c
die Warteschleife faktor=zufall; } else faktor=zufall; //Sonst mit der alten Wartezeit weiter } if (pwm==255) //Hier wird PWM generiert pwm=0; pwm=pwm+1; if(pwm<x) var=0b00000000; else if(pwm>x) var=0b00000001; //und zwar auf Port 0 return var; } char blink1 (void) { char var; static char pwm,x=255,direction
in „Atmega 8 mit meinem Ansatz eines "Sternenhimmels" überfordert?“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
PWM_Controller_Manual.pdf
jedes weitere Datenbyte in das darauf folgenden Register. TWI - CMD [HEX] Funktion Notes 0 ── none 1 PWM Kanal 1 2 PWM Kanal 2 3 PWM Kanal 3 4 PWM Kanal 4 5 PWM Kanal 5 6 PWM Kanal 6 7 PWM Kanal 7 8 PWM Kanal 8 9 PWM Kanal 9 0A PWM Kanal 10 0B PWM Kanal 11 0C PWM Kanal 12 0D PWM Kanal 13 0E PWM Kanal 14
in „PWM- Controller 18- Kanal TWI- Bus Proj.“ · Projekte & Code ·
-
Datei
main.c
PORTB #define PWM_CHANNELS 24 // Anzahl der PWM-Kanäle // ab hier nichts ändern, wird alles berechnet #define T_PWM (F_CPU/(PWM_PRESCALER*F_PWM*PWM_STEPS)) // Systemtakte pro PWM-Takt //#define T_PWM 1 //TEST #if ((T_PWM*PWM_PRESCALER)<(111+5)) #error T_PWM zu klein, F_CPU muss vergrösst werden oder F_PWM oder PWM_STEPS verkleinert werden #endif #if ((T_PWM*PWM_STEPS)>65535) #error Periodendauer der PWM zu gross! F_PWM
in „PWM TWI Problem“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
ändern, wird alles berechnet #define T_PWM (F_CPU/(PWM_PRESCALER*F_PWM*PWM_STEPS)) // Systemtakte pro PWM-Takt #if ((T_PWM*PWM_PRESCALER)<(111+5)) #error T_PWM zu klein, F_CPU muss vergrössert werden oder F_PWM oder PWM_STEPS verkleinert werden
in „7x7 rgb led matrix mit schieberegistern“ · Mikrocontroller und Digitale Elektronik ·