avr

    3熱度

    2回答

    我正在使用SSD1306 OLED並對其有疑問。 通過I2C將數據寫入其緩衝區時,某些庫每次寫入16個字節。 例如: void SSD1306::sendFramebuffer(const uint8_t *buffer) { // Set Column Address (0x00 - 0x7F) sendCommand(SSD1306_COLUMNADDR); se

    -2熱度

    2回答

    好吧,我已經非常簡化了這個問題。我正在嘗試將編碼器電機反饋發送到將在處理中顯示的處理。但錯誤是這樣的: 錯誤禁用「COM3」null的serialEvent? 處理: import processing.serial.*; Serial port; int index=0; String lmotor,rmotor,data,status; void setup() { si

    2熱度

    2回答

    我有一個非常簡單的ATTINY85 I2C位打包庫。 #define PORT_SDA PB0 #define PORT_SCL PB2 #define SIGNAL_HIGH(PORT) PORTB |= (1 << PORT) #define SIGNAL_LOW(PORT) PORTB &= ~(1 << PORT) void LED_ON(void); void LED_OF

    1熱度

    1回答

    只是閱讀有關AVR微控制器的USART連接和我面臨這樣一個問題: 什麼是AVR微控制器的USART(RXC,TXC和其他內部)使用的數字邏輯? 我已經找到了答案,單片機的數據手冊中這個問題(它說的邏輯是TTL),但我不能找出爲什麼我們使用其他邏輯轉換器像MAX232將串行通訊協議改爲RS232C。這是長距離串行通信所需要的嗎? 最後,我們需要使用另一個MAX232到以前的轉換協議轉換爲TTL 再次

    0熱度

    1回答

    我一直試圖讓我的ATTINY85處於bit-bang I2C(讀/寫)狀態。我有以下配置: PB0 = SDA PB1 = LED PB2 = SCL 我能夠毫無問題地寫,但只有在閱讀作品,如果我有我的「延遲()」讀循環中的功能,到目前爲止好: char i2c_read(void) { uint8_t B = 0; DDRB &= 0b11111110; // sw

    0熱度

    1回答

    如何檢測W5100以太網控制器上的電纜是否拔出? 在datasheet我找不到電纜檢測寄存器。但芯片提供LAN狀態指示燈。

    0熱度

    2回答

    我有一臺電腦(即用作服務器)和幾個板與Atmega微控制器是這樣的: 將計算機連接到UART & RS485(板帶USB到RS485轉換器)(我有導致我不能採用MODBUS)的限制。我想從廣播服務器通過總線消息並從每個板的取ID(板ID是4位)。 當單板收到廣播消息並嘗試發送自己的ID並且服務器收到一些僞造的ID時,我認爲它與所有單板想發送一次中的數據時碰撞問題有關。 之後我搜索一下這個問題找到了

    -1熱度

    1回答

    我使用Arduino mega 2560和光傳感器BH1750FVI。顯示結果我使用的小型機,工作在Ubuntu 16.04 LTS 我寫的代碼和它的工作,我的數據結果來自光傳感器讀取,我可以讀信息只有一次。我不明白我是如何通過中斷(TWI_vect)工作的,並且每次都使用我的uart顯示結果。 #include "my_header.h" #define I2C_STATUS_MASK

    0熱度

    1回答

    請幫忙。我的程序運行while循環只有一次:( 我不知道是什麼問題,我編程同樣的事情,以及在python,有它工作得很好。 我在C和初學者我現在用的是ATmega8的微處理器愛特梅爾。 #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { DDRD = 0xFF;

    0熱度

    1回答

    我正在使用ATMEGA32和Crystal 16MHz。 我已經寫下面的代碼來生成1kHz波。 我試着寫Low- 0xFFHigh-0x99 但我無法得到1kHz wave。我得到250Hz wave。而不是1kHz。 請幫忙。 #define F_CPU 16000000UL #include <avr/io.h> //io related #include <util/delay.h> /