Дастин Кэмпбелл из блога DidItWith.NET исследует несколько неудачных попыток создания слабых обработчиков событий, а затем продолжает показывать правильную, работающую и легковесную реализацию: Решение проблемы со слабыми обработчиками событий .
В идеале, Microsoft должна внедрить эту концепцию в сам язык. Примерно так:
Foo.Clicked += new weak EventHandler(...);
Если вы считаете, что эта функция важна для вас, пожалуйста, проголосуйте за нее здесь .
Попробуйте использовать инструмент stty :
stty -F /dev/my_serial_port <baud_rate> cs8 cread clocal
Как всегда, прочитайте man-страницу перед применением вышеуказанного. cread
позволяет получать данные. Вы можете пропустить clocal
, если вы используете управление потоком. Если вы не уверены, каковы вышеупомянутые настройки, спросите, и я могу написать более полный ответ.
Я тоже боролся с этой проблемой, пытаясь без конца использовать настройки и приемы, чтобы перебирать мои файлы в /dev/tty.usbserial-FTF7YNJ5 (в моем случае), стоя на одном пальце и т. Д.
Затем я сделал ls / dev и заметил /dev/cu.usbserial-FTF7YNJ5 - о, что это? По-видимому, версия «вызывающего устройства» устройства, которая не ожидает и не обеспечивает какого-либо управления потоком. Сбрасывает байты в порт. Именно то, что мне было нужно.
Так что просто сделайте: cat super_file.bin> /dev/cu.usbserial-XXXXX
Надеюсь, это поможет. И только теперь, когда я знаю ответ, я нашел это: http://stuffthingsandjunk.blogspot.com/2009/03/devcu-vs-devtty-osx-serial-ports.html
Возможно, попробуйте какой-нибудь инструмент для последовательной командной строки, похожий на serial-1.0.
См .: Тест петли / дуплекс последовательного порта, в Bash или C? (процесс замены)
Попробуйте / измените ttyecho:
http://www.humbug.in/2010/utility-to-send-commands-or-data-to-other-terminals-ttypts/
Существует также инструмент командной строки Apple SerialPortSample, который позволяет вам устанавливать произвольные скорости передачи:
// from: SerialPortSample/SerialPortSample.c
// ...
// Starting with Tiger, the IOSSIOSPEED ioctl can be used to set arbitrary baud rates
// other than those specified by POSIX. The driver for the underlying serial hardware
// ultimately determines which baud rates can be used. This ioctl sets both the input
// and output speed.
// ...
Для получения дополнительной информации см .: http://www.arduino.cc/playground/Interfacing/ Какао
Еще один пример кода Какао, который показывает вам, как общаться с микроконтроллером Arduino через последовательное соединение, - target-candarduino (размещен в коде Google).