Posiadam 2 układy:
- hy-smart stm32 na STM32F103
- urządzenie na attiny2313
oba udało mi się ładnie dotychczas ogarnąć, oba pracują poprawnie, jednak pozostaje ostatni krok - połączyć je. Jako, że hy-smart oraz attiny mają uart to na ten protokół padł wybór. Niestety mimo wielu podejść nie udało mi się wysłać poprawnie pakietu. Gdzie robię błąd?
Tak wygląda połączenie (skoncentruję się na razie jedynie na kierunku 2313->stm):
co dziwne, gdy na T2in dam 0v to na T2out mam 10v, a jak dam 5v to jest -10v (nie powinno być odwrotnie?)
Jak widać proste jak budowa radzieckiego czołgu, jednak dla pewności dam cały obraz układu z attiny (niestety budowalem od razu płytkę, bez schematu):
Dodatkowo daję w załączniku schemat budowy tego HY-Smarta.
Jeżeli chodzi o USART1 (przez niego jest programowany za pośrednictwem bootloadera) to udało mi się bez większych problemów porozumieć z moim programem na komputerze, więc kod to tak naprawdę przerobiony z USART1 na wyjście USART2 (może tu zrobiłem gdzieś błąd?).
Kod attiny2313:
UART.cpp
main.cpp
F_CPU=20 000 000 //20MHz
Oraz kod po stronie stm-a:
Efekt jest taki, że dioda miga, a na wyświetlaczu jest jedynie "Ready...".
Płacę jak za prezydenta. Nie mam już pomysłów, a to właściwie ostatni kroczek
- hy-smart stm32 na STM32F103
- urządzenie na attiny2313
oba udało mi się ładnie dotychczas ogarnąć, oba pracują poprawnie, jednak pozostaje ostatni krok - połączyć je. Jako, że hy-smart oraz attiny mają uart to na ten protokół padł wybór. Niestety mimo wielu podejść nie udało mi się wysłać poprawnie pakietu. Gdzie robię błąd?
Tak wygląda połączenie (skoncentruję się na razie jedynie na kierunku 2313->stm):
co dziwne, gdy na T2in dam 0v to na T2out mam 10v, a jak dam 5v to jest -10v (nie powinno być odwrotnie?)
Jak widać proste jak budowa radzieckiego czołgu, jednak dla pewności dam cały obraz układu z attiny (niestety budowalem od razu płytkę, bez schematu):
Dodatkowo daję w załączniku schemat budowy tego HY-Smarta.
Jeżeli chodzi o USART1 (przez niego jest programowany za pośrednictwem bootloadera) to udało mi się bez większych problemów porozumieć z moim programem na komputerze, więc kod to tak naprawdę przerobiony z USART1 na wyjście USART2 (może tu zrobiłem gdzieś błąd?).
Kod attiny2313:
UART.cpp
Kod: C / C++
main.cpp
Kod: C / C++
F_CPU=20 000 000 //20MHz
Oraz kod po stronie stm-a:
Kod: C / C++
Efekt jest taki, że dioda miga, a na wyświetlaczu jest jedynie "Ready...".
Płacę jak za prezydenta. Nie mam już pomysłów, a to właściwie ostatni kroczek