Niby wiadomo co potrafi sztuczna inteligencja, ale jakoś zawsze się to kojarzyło z zaawansowanymi systemami. Natomiast booty z którymi zdarza sie rozmawiać, wydają się jednak bardziej półinteligentne niż inteligentne.
Jednak to co dziś zobaczyłem spowodowało, że dosłownie szczęka opadła mi na podłogę.
Jest taka stronka:
https://chat.openai.com/chat
Niestety trzeba się tam zarejestrować, ale niewiele czasu to zajmuje. I co dalej? Można sobie napisać do boota.
Noi w sumie nic dziwnego. Można na przykład tak:
Podaj wzór na zawartość alkoholu we krwi człowieka.

Noi nic dziwnego, można to też wygooglować. Po kilku prostych pytaniach, może spróbować coś trudniejszego?
Noto teraz takie zadanie dla boota:
Napisz program w języku C na mruganie diodą na pinie 2 portu A dla mikrokontrolera STM32F407
I co? Boot nie dość, że napisze program to jeszcze zrobi komentarze i opisze dokładnie co się dzieje


Noto może by mu tu coś dołożyć?
Noto następne zadanie:
Zrób to samo, jednak użyj do tego timmera.
boot odpowiada takim kodem:
Kod: Zaznacz cały
#include <stm32f4xx.h>
int main(void) {
// Konfiguracja portu A i pinu 2 jako wyjście
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;
GPIOA->MODER |= GPIO_MODER_MODER2_0;
// Konfiguracja timera 3
RCC->APB1ENR |= RCC_APB1ENR_TIM3EN;
TIM3->PSC = 16000 - 1; // preskaler
TIM3->ARR = 1000 - 1; // wartość maksymalna licznika
TIM3->DIER |= TIM_DIER_UIE; // włączenie przerwania od przepełnienia licznika
// Konfiguracja przerwania od timera 3
NVIC_SetPriority(TIM3_IRQn, 0);
NVIC_EnableIRQ(TIM3_IRQn);
// Uruchomienie timera 3
TIM3->CR1 |= TIM_CR1_CEN;
while (1) {
__WFI(); // wstrzymanie wykonywania programu do następnego przerwania
}
return 0;
}
// Obsługa przerwania od timera 3
void TIM3_IRQHandler(void) {
// Sprawdzenie, czy przerwanie zostało wywołane przez przepełnienie licznika
if (TIM3->SR & TIM_SR_UIF) {
// Mrugnięcie diodą
if (GPIOA->ODR & GPIO_ODR_ODR_2) {
// Zgaszenie diody
GPIOA->BSRR = GPIO_BSRR_BR_2;
} else {
// Włączenie diody
GPIOA->BSRR = GPIO_BSRR_BS_2;
}
// Wyzerowanie flagi przerwania od przepełnienia licznika
TIM3->SR &= ~TIM_SR_UIF;
}
}

Na mnie zrobiło wrażenie.
Oczywiście, program nie napisze całej aplikacji ale czasami jak się człowiek zastanawia jak coś napisać, można się wstępnie wspomóc i dopisać swoje
