|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 7:15 am
| Автор |
Съобщение |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: Tiny1616 и XC8
линукса за ембед периферия е по-гаден от ардуино ... MMU пречи и забавя, а и scheduler-а не е баш RTOS Концепцията иде нейде от posix и ++, но малко са я прецакали с времето ( или подобрили - беш ли мааму ) а и пишеш ли на С++ за ембед - друг начин няма... Интернет ( IoT ) ... той е еднакво бавен навсякъде аз такива бози видях, че ардуино е просто черешка от торта или: - Това не е Про !!! - а кое точно е Про? ... тишина
_________________ main[-1u]={1};
|
| Пет Апр 04, 2025 2:14 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: Tiny1616 и XC8
BTW: не знам защо някой се "сърди" на некой пич дето е портнал чип в Ардуино или написал някъв "полезен" код за интерфейс, сензор ... етц при условие, че нито един производител на чип, модул или платка не е дал една стинка за "подобрения"
a и тези някой дори не знаят какво има "под капака" на MCU... като софт и хард
_________________ main[-1u]={1};
|
| Пет Апр 04, 2025 3:21 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: Tiny1616 и XC8
Ами прав си, не е за сърдене, но стимулира паразитите ....сега ако трябва да съм честен детето е свършило не малко работа която най-вероятно нямаше как аз да свърша просто защото отдавна щеше да им е свършил бюджета. Те двама юнака са работили, някакво украинче което е успяло да подбере подходящите ледове и да подкара DC-DC което в доста икономично, и един местен младеж който пък е направил доста рисърч свързан с материалите, а те са специфични. Сега украинчето е залегнало на low power режимите, не успяло и да подкара читаво imu-то, а тукашния младеж го е докарал до където е. Е има какво да се оправя по платката а и зарядното, но ардуиното му е секнало устрема, или по-скоро неговото незнание, но то е стимулирано и от ардуиното. Ако не беше ардуиното щеше да се наложи да чете Дейта лийта и да осъзнае какво прави wdt.
|
| Пет Апр 04, 2025 3:37 pm |
|
 |
|
slav4o.com
Ранг: Форумен бог
Регистриран на: Нед Яну 01, 2012 8:04 pm Мнения: 2663 Местоположение: София / Велико Търново
|
 Re: Tiny1616 и XC8
Не се ли поддържа този процесор от MPLAB X
Последна промяна slav4o.com на Пет Апр 04, 2025 3:50 pm, променена общо 1 път
|
| Пет Апр 04, 2025 3:39 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: Tiny1616 и XC8
ToHu - барни го малко - земи парите и бегай ( ако можеш - вземи повече ) исках да кажа, че Ардуино си е нормален код ся, "писачи" и "разбирачи" - разни... 
_________________ main[-1u]={1};
|
| Пет Апр 04, 2025 3:41 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: Tiny1616 и XC8
Не казвам, че не е нормален, ама върви намери кое какво прави, в смисъл как работи sleep. Функцията, пипа ли хардуер не пипа ли, кои периферии пипа, къде се указва ...сега не и помня името да ти кажа как с еказваш, ама тя май само една. Сега това атини има регистри които казват какво върви и не в различните повер режими, нещо сетива ли ги тоя регистри, и др. такива. Аз не намерих читаво описание, може и толкова да съм търсил, може да съм предубеден, ама като търсих описание на функцията само алабализми прочетох които са ясни по подразбиране.
А за парите, не съм гледал колко им е бюджета, ама едва ли ще е повече от 15-20к което е на границата само за занимавката с овърмолдинга и технологията, трябва да видя с колегата какъв бюджет са сложили. Та за тая простотия са дали 10 часа, 3 от които отидоха във възстановяване на съсипана платка, някой беше поил с поялник за улуци...
|
| Пет Апр 04, 2025 4:19 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: Tiny1616 и XC8
21 век - първото срещнато "тенеке" и динозавър, който ме мързи да чете PDF - познаваш ли attiny1616 ... - дай пример за мигане на светодиод 100 пъти -> sleep -> събуждане от RTC след 60 секунди Ардуино по по най ако не стане ... ще прочета PDF 
_________________ main[-1u]={1};
|
| Пет Апр 04, 2025 6:16 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: Tiny1616 и XC8
На мен не ми е проблем да го разпиша, а те това според мен е ардуино функция set_sleep_mode(SLEEP_MODE_PWR_DOWN), поне гледам че я изпозлват в ардуино кода и точно за нея не намерих какво точно прави. Иначе ето какво предлага тенекето :
#include <avr/io.h> #include <avr/interrupt.h> #include <avr/sleep.h>
// Watchdog Timer interrupt service routine. // This ISR is called when the watchdog timer expires. // Its sole purpose is to wake the MCU from sleep. ISR(WDT_INT_vect) { // Nothing is required here. // The interrupt simply wakes the MCU. }
// Configure the system clock: // Use the internal 16 MHz oscillator, then divide by 16 for a 1 MHz system clock. void init_clock(void) { // Note: The ATtiny1616 is shipped with its internal oscillator enabled. // To change the prescaler, set the prescaler enable bit (PEN) and the division factor. // The constant CLKCTRL_PDIV_DIV16_gc selects division by 16. // (Check your device header files to be sure these macros match your version.) CLKCTRL.MCLKCTRLB = CLKCTRL_PDIV_DIV16_gc | CLKCTRL_PEN_bm; }
// Setup the Watchdog Timer to generate an interrupt every ~1 second. void init_wdt(void) { // The watchdog can be configured with various periods. Here we assume that // WDT_PERIOD_1SEC_gc selects a ~1 second timeout. // The WDT_WINDOW_OFF_gc turns off any windowed mode so that the timer simply runs. // WDT_ENABLE_bm turns on the watchdog. WDT.CTRL = WDT_PERIOD_1SEC_gc | WDT_WINDOW_OFF_gc | WDT_ENABLE_bm; }
// Optionally disable unused peripherals to save power. // (For each module you are not using, disable its clock or power if possible.) // For example, if you are not using the ADC you might disable it as shown below. // (Uncomment and adjust as needed for your application.) // void disable_peripherals(void) // { // // Example: Disable ADC if not used. // ADC0.CTRLA = 0; // // Other peripherals (like timers, USART, TWI, etc.) can be disabled similarly. // }
int main(void) { // Disable global interrupts while configuring the system. cli(); // Initialize system clock with prescaler. init_clock(); // Optionally, disable unused peripherals to save power. // disable_peripherals(); // Set sleep mode to deep power-down. // On ATtiny1616, deep sleep is typically the power-down mode. set_sleep_mode(SLEEP_MODE_PWR_DOWN); sleep_enable(); // Setup watchdog timer for a ~1 second wakeup period. init_wdt(); // Enable global interrupts. sei(); // Main loop: the MCU will sleep, and each watchdog interrupt will wake it up. while (1) { // Enter sleep mode. The MCU will resume here after the watchdog timer interrupt. sleep_cpu(); // (Optional) Place any code here that you want executed immediately after wakeup. // For a low-power design, you might simply loop back into sleep. } // Code should never reach here. return 0; }
Но регистрите не са верни, отделно чака прекъсване от WDT а такова няма. Аз напоследък редовно го тествам каква глупост ще сътвори, казах му че WDT няма прекъсване, помисли помисли, и го напрви с друг таймер ... твоето само ли се сети да изпозлва RTC или ти му подсказа ?
|
| Пет Апр 04, 2025 6:57 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: Tiny1616 и XC8
виж тва рег ги има в ПДФ. но незнам дали е верно wdt_reset(); // "Ритаме кучето" - нулираме WDT
_________________ main[-1u]={1};
|
| Пет Апр 04, 2025 7:29 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: Tiny1616 и XC8
първо го събуди с пин после му казах дай от RTC
_________________ main[-1u]={1};
|
| Пет Апр 04, 2025 7:35 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: Tiny1616 и XC8
_________________ main[-1u]={1};
|
| Пет Апр 04, 2025 7:42 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: Tiny1616 и XC8
Е аз регистирте ги видях още преди да ми кажат че са го писали на ардуино, като ми казах акакъв им е пробелма първат работа беше да им отворя пдф и и да видя какви са му възможностите за приспиване и събуждане, ама не бях и разбрал, че изпозлват WDT докато не ми пратиха кода си. После видях че е с WDT и прочетох за WDT-то. Ся за не малко процесори WDT не ресетва а само изважда от sleep така, че ако не го прочете човек може и по инерция да го направи така. Ако аз го бях писал това сигурно щеше да ми е точно това първата мисъл по навик. Четенето спестява чесане по главата и други места, ще ги видим, написах му как да си сетне RTC, написах му и как да мери вътрешния термометър, че наслагал някакви темристори външни ... но то като му гледам кода всичко е на части, код за сензора, код за IMU-то, код за спане, код за ледовете ... но не е събрал нищо на едно място ... да му мислят, искаха помощ помогнах, основната ми задача е друга, доста по предизвикателна ... от нея се чеша къде ли не, ще пусна друга тема по въпроса евентуално колегите с аутомотива и аероспейса може да имат някакъв подобен опит.
|
| Пет Апр 04, 2025 8:16 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: Tiny1616 и XC8
не знам дали е верен кода за термото
_________________ main[-1u]={1};
|
| Пет Апр 04, 2025 8:22 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: Tiny1616 и XC8
Ами регистъра за сензора е верен, 1Е , референса се задава обаче от ControlC битове 4 и5 май бяха ... цял ден мина, пак много помня.
|
| Пет Апр 04, 2025 8:33 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: Tiny1616 и XC8
начи ползва ADC1 горе примера е за ADC0 PS: едно към едно го е копирал от ПФД 
_________________ main[-1u]={1};
|
| Пет Апр 04, 2025 8:41 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 2 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|