Skocz do zawartości

gustawdaniel

Użytkownicy
  • Zawartość

    4
  • Rejestracja

  • Ostatnio

Reputacja

1 Neutralna

O gustawdaniel

  • Ranga
    1/10
  1. @Elvis. Nigdzie nie mogłem znaleźć informacji, że jest to `/dev/ttyACM0`. Sprawdzę czym jest deamon udev. Dzięki za nazwy tych programów.
  2. Propozycja poprawki: Zarówno w kodach: "Włączenie przetwornika ADC i kalibracja" jak i "STM32 - pomiar napięcia zewnętrznego" mamy linie: gpio.GPIO_Pin = GPIO_Pin_3; gpio.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &gpio); Jeśli dobrze rozumiem wcześniejsze części to są one niepotrzebne, bo ten pin i mod służą przyjmowaniu przez mikro kontroler sygnałów przez USB przychodzących z komputera. Podobnie jak włączanie zegarów dla wszystkich portów GPIO można by zastąpić włączeniem ich tylko dla jednego, którego używamy. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); Czy rozwiązanie dla zadania 6.1 to 1.007 MHz?
  3. Dla użytkowników systemu Linux. Żeby sprawdzić gdzie montuje się wasze urządzenie możecie skorzystać z instrukcji https://askubuntu.com/a/408831/614907 U mnie była to ścieżka /dev/serial/by-id/usb-STMicroelectronics_STM32_STLink_066FFF494849887767072607-if02 Do czytania danych wysłanych przez mikrokontoler można użyć zarówno programu cat (zwykły tekst) jak i xdd (wygodny dla danych binarnych) Na przykład: cat /dev/serial/by-id/usb-STMicroelectronics_STM32_STLink_066FFF494849887767072607-if02 Znalezienie tego zajęło mi dużo czasu, być może ten komentarz go komuś oszczędzi. UPDATE: Do wysyłania danych można oczywiście używać przekierowań takich jak echo "a" > /dev/serial/... ale wygląda na to, że takie coś załącza jakiś dodatkowy znak końca strumienia danych, żeby tego uniknąć napisałem w node.js program który przechwytuje klawisze z klawiatury i wysyła na ten adres. W tym programie problem problem znaku kończącego zapis nie występuje, ale z chęcią dowiem się czy ktoś nie zna prostszego sposobu. /** * Script reads keys from keyboard and redirects them to usb device * We assume that device with usb communication is located in path * described in constant `file`. * * Usage: * connect STM32 with program from example "Data receiving" from Forbot Course * first conosle: cat /dev/serial/by-id/usb-STMicroelectronics_STM32_STLink_066FFF494849887767072607-if02 * second console: node app.js * Start typing in second console, you should see responses from microcontroller in first console * * It is possible that id of your device will be different, them use methods described on link: * https://askubuntu.com/a/408831/614907 * to detect youd device path * * Daniel Gustaw <gustaw.daniel@gmail.com> * * Sat Mar 16 20:54:45 CET 2019 * * Recommended tutorials: * https://forbot.pl/blog/kurs-stm32-5-komunikacja-z-komputerem-uart-id8439 * https://thisdavej.com/making-interactive-node-js-console-apps-that-listen-for-keypress-events/ * https://dustinpfister.github.io/2018/08/17/nodejs-filesystem-create-write-stream/ * https://askubuntu.com/a/408831/614907 */ const readline = require('readline'); const fs = require('fs'); const file = '/dev/serial/by-id/usb-STMicroelectronics_STM32_STLink_066FFF494849887767072607-if02'; let writer = fs.createWriteStream(file); // stream that allow redirect characters readline.emitKeypressEvents(process.stdin); // enable listening process.stdin.setRawMode(true); // listen for all keys (without confirming by enter) process.stdin.on('keypress', (str, key) => { // listen on pressing keys if (key.ctrl && key.name === 'c') { // allow for closing connection by ctrl+c process.exit(); // close process } else { console.log(`You pressed the "${str}" key`); // log info what you pressed writer.write(str); // send this key to stream } }); console.log('Press any key...');
×
×
  • Utwórz nowe...