Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.
Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".
Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Byla vydána verze 5.30 dnes již open source operačního systému RISC OS (Wikipedie).
V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Welcome to desktop Linux! Here are some of my distro recommendations:
Ubuntu is a hugely popular OS. If you want to get deep into desktop Linux, Ubuntu made a few annoying decisions, but it's honestly not a big deal. It's popularity means the Internet has loads of guides and tutorials for almost everything on Ubuntu, so my few issues are easy to solve anyways.
Fedora Workstation gives you a nearly pure Gnome experience. It's backed by RedHat and it's remarkably stable while also using modern Linux techniques and technologies. A solid choice if you want your system to "just work."
Linux Mint. It's Cinnamon desktop is not Gnome, but Mint is a lightweight and comfortable distro for new users. It's also based on Ubuntu, so a lot of the guides and software that are available for Ubuntu will also (probably) work on mint.
Takže po dlhšej dobe som oprášil programator uispmkII pre atmely ktory som si uz skor zakupil ale nejak som sa nemal k tomu aby som ho naplno vyskusal.. tentokát som skusil namiesto pisania priamo kodu v ASM skusit vyssi jazyk C .
Ako prve som mal mensi problem s rozchodenim samotneho programatora.. co sa podarilo.
pre ubuntu bolo potrebne pridat vynimku pre udevm konkretne zapisanim par riadkov do /etc/udev/rules.d/60-avrisp.rules
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="avrisp_end"
# Atmel Corp. JTAG ICE mkIIATTR{idVendor}=="03eb", SYSFS{idProduct}=="2103", MODE="660", GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2104", MODE="660", GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2107", MODE="660", GROUP="dialout"
LABEL="avrisp_end"
potom restart udev
a nasledne pokus o naprogramovanie
pripajam jeden tutorial a makefile
#include <avr/io.h>
#include <util/delay.h>
// Function prototypes
int wait_one_second(void);
int set_PORTB_bit(int position, int value);
int main(void){
DDRB = 0x0F;
PORTB |= 0b00001111;
// Set up a forever loop using 'C'-style for loop
// i.e. loop while '1' equals '1'
uint8_t i = 0;
for ( ; 1==1 ; )
{
set_PORTB_bit(i, 0); // Clear bit
wait_one_second();
set_PORTB_bit(i, 1); // Set bit
wait_one_second();
i++;
if (i==4) i=0;
}
return 1;
}
// Functions
int wait_one_second(void)
{
_delay_ms(1000);
return 1;
}
int set_PORTB_bit(int position, int value)
{
// Sets or clears the bit in position 'position'
// either high or low (1 or 0) to match 'value'.
// Leaves all other bits in PORTB unchanged.
if (value == 0)
{
PORTB &= ~(1 << position); // Set bit # 'position' low
}
else
{
PORTB |= (1 << position); // Set bit # 'position' high
}
return 1;
}
-------------
taktiez pripajam makefile
u makefile je pridany flag -Os ktory vyrazne optimalizuje velkost kodu
# AVR-GCC Makefile
PROJECT=tutorial_1
SOURCES=main.c
CC=avr-gcc
OBJCOPY=avr-objcopy
MMCU=attiny2313
CFLAGS= -g -Os -mmcu=$(MMCU) -Wall
$(PROJECT).hex: $(PROJECT).out
$(OBJCOPY) -j .text -O ihex $(PROJECT).out $(PROJECT).hex
$(PROJECT).out: $(SOURCES)
$(CC) $(CFLAGS) -I./ -o $(PROJECT).out $(SOURCES)
program: $(PROJECT).hex
avrdude -p t2313 -P usb -c avrispmkII -e -U flash:w:$(PROJECT).hex
clean:
rm -f $(PROJECT).o
rm -f $(PROJECT).out
rm -f $(PROJECT).map
rm -f $(PROJECT).hex
Tiskni Sdílej:
for
tak složitě? Jakou má výhodu 1==1
oproti true
, resp. prostě 1
?
Co takhle:
for (uint8_t i = 0; true; i++)
{
if (i == 4) i = 0;
//...
}
while (1) {}
jj. aj tak sa da. vie mi niekto dat nejaky tutoral na prerusenia?
napr zeby som mohol spustit podprogram pri stisknuti napr tlacitka pripojeneho na pin 1 portu A
a tiez nejaky example na prerusenie aby sa automaticky vzdycky v nejaky cas vykonal podprogram nezavisle teda aby nebolo treba nic stlacat.. napada ma vyuzitie citaca ale tak daleko som sa nedostal este
ISR(PCINT3_vect){ }Staci mit tabulky preruseni a zbytek je v datashitu procesoru. Tady mas pro ukazku preruseni a sinusovku s casovacem...
// PROGRAM 001 C++ fast PWM pro D/A prevodnik // ************************************************ // * date: 11/8/2011 * // * verze: 1.0 * // * for AVR: 2313 * // * clock frequency: 1MHz * // ************************************************ // Program Function: // _____________________________________________________________________ // // Program mel puvodne demonstrovat D/A prevodnik z jednoho vystupniho // pinu pomoci fast PWM, ta cte hodoty preklapecich urovni z z tabulky, // pomale... vylepsit! // _____________________________________________________________________ // ================================================================== // DEKLARACE #include avr\io.h> #include avr\interrupt.h> #include avr\pgmspace.h> const uint8_t sinewave16[] PROGMEM= //i hodnot (bez i 256) { 64,88,109,123,127,123,109,88, 64,39,19,5,0,5,19,39, }; uint8_t i=0; uint8_t j=0; ISR(TIMER1_COMPA_vect){ OCR1A=pgm_read_byte(&sinewave16[i]); i++; if (i >= 0x10){ i=0; } } // ================================================================== // HLAVNI PROGRAM int main(void) { DDRD=0x80; // piny PortuD jako vstupni PORTD=0xFF; // povolení internich pull-up rezistoru DDRB=0xFF; // nastaveni portuB jako vystup OCR1A=10; // nastaveni hodnoty OCR1A TCCR1A=0x91; // porovnání vystupu OC1RA s 8bit neinvertovanou PWM? TCCR1B=0x01; // casovac bez preddelicky? TIMSK=0x50; // zapnuti porovnavani vystupu preruseni pro OCR1A? sei(); // enable global interrups while (1) { // loop for ever. Interrupts will do the job. } }
for (;;) { // ... }
už
<h3>
, ten kód určitě nejsou nadpisy.
este by to chcelo aby som nemusel stale pouzivat sudo ak chcem zapisat program.
uf dufam ze ti niekto tuna z ludi na fore odpovie .. moj mkII nema podporu pre debuging tusim
ak sa ta smiem opytat aku verziu AVR studia pouzivas? ja som si vo winxp nainstaloval este tu staru klasicku 4ku lebo ta nova uz je moc zlozita postavena na Visual Studiu