Thông báo

Collapse
No announcement yet.

Tìm người cùng học I2C và SPI

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Tìm người cùng học I2C và SPI

    Mình đã liên hệ với bên DKS, ở đấy người ta dạy được hai cái này. Thôi thì ngu phải bỏ học phí vậy, mình muốn tập hợp một nhóm khoảng 4-5 người (đông hơn cũng dc). Học phí khoảng 1,5-2k/người (tùy số lượng người trong nhóm, càng đông càng rẻ).
    Vậy bạn nào có nhu cầu để lại comment hoặc pm với mình qua số 0904098550.

  • #2
    Sao nặng nề thế bro? Có nhiều cách để tiếp cận (làm...) một vấn đề nào đó: mày mò tự học (đọc sách, tự làm.............), đi học (từ thầy, từ bạn..........)...........
    Bro muốn nhanh thì đi học là okie rùi, chúc bro mau thành công

    Comment


    • #3
      Nguyên văn bởi Proturtle Xem bài viết
      Mình đã liên hệ với bên DKS, ở đấy người ta dạy được hai cái này. Thôi thì ngu phải bỏ học phí vậy, mình muốn tập hợp một nhóm khoảng 4-5 người (đông hơn cũng dc). Học phí khoảng 1,5-2k/người (tùy số lượng người trong nhóm, càng đông càng rẻ).
      Vậy bạn nào có nhu cầu để lại comment hoặc pm với mình qua số 0904098550.
      Không hiểu bác học SPI và I2C để áp dụng vào lĩnh vực nào, nhưng nếu học để sử dụng các IC sử dụng 2 giao thức đó (như TC74, TC72 để đo nhiệt độ chẳng hạn) thì chỉ cần tự học một buổi là làm dc rồi.
      Đăng ký Dropbox có ngay 2GB lưu trữ online miễn phí:

      Comment


      • #4
        Ẹc, SPI thì a chưa dùng làm gì, nhưng I2C anh có làm thử với TC74, tương đối đơn giản, cái chính là làm đúng hướng dẫn trong Datasheet ...
        *** Thành viên không biết gì về điện ***

        Comment


        • #5
          tớ làm 15p, chạy. trước đó ko bít j về i2c hay spi jề.
          |

          Comment


          • #6
            Nguyên văn bởi AVR_VN Xem bài viết
            Ẹc, SPI thì a chưa dùng làm gì, nhưng I2C anh có làm thử với TC74, tương đối đơn giản, cái chính là làm đúng hướng dẫn trong Datasheet ...

            Anh ơi mấy con đấy nó tự động đáp ứng yêu cầu của master rồi, code mẫu cũng nhiều. Nhưng mà để cho một con mega8 thành slave thì khác, mình còn phải viết code cho nó để đáp ứng lại yêu cầu của master.

            Anh xem ngâm cứu giúp em với. Một mình em làm oải quá, toàn thầy dùi.

            Comment


            • #7
              Nguyên văn bởi DINH_HUNG Xem bài viết
              tớ làm 15p, chạy. trước đó ko bít j về i2c hay spi jề.
              Cảm ơn bạn. Thay vì bạn viết vài dòng này mình nghĩ bạn giúp mình một chút thì có ích hơn.

              Comment


              • #8
                Đi học cũng tốt. Tuy nhiên cái này đơn giản không cần đi học. bạn chỉ cần đọc help của Codevision là biết ngay.
                Trích đoạn trong help của codevision

                I2C Bus Functions
                Example how to access an Atmel 24C02 256 byte I2C EEPROM:

                /* the I2C bus is connected to PORTB */
                /* the SDA signal is bit 3 */
                /* the SCL signal is bit 4 */
                #asm
                .equ __i2c_port=0x18
                .equ __sda_bit=3
                .equ __scl_bit=4
                #endasm

                /* now you can include the I2C Functions */
                #include <i2c.h>

                /* function declaration for delay_ms */
                #include <delay.h>

                #define EEPROM_BUS_ADDRESS 0xa0

                /* read a byte from the EEPROM */
                unsigned char eeprom_read(unsigned char address) {
                unsigned char data;
                i2c_start();
                i2c_write(EEPROM_BUS_ADDRESS);
                i2c_write(address);
                i2c_start();
                i2c_write(EEPROM_BUS_ADDRESS | 1);
                data=i2c_read(0);
                i2c_stop();
                return data;
                }

                /* write a byte to the EEPROM */
                void eeprom_write(unsigned char address, unsigned char data) {
                i2c_start();
                i2c_write(EEPROM_BUS_ADDRESS);
                i2c_write(address);
                i2c_write(data);
                i2c_stop();
                /* 10ms delay to complete the write operation */
                delay_ms(10);
                }

                void main(void) {
                unsigned char i;
                /* initialize the I2C bus */
                i2c_init();
                /* write the byte 55h at address AAh */
                eeprom_write(0xaa,0x55);
                /* read the byte from address AAh */
                i=eeprom_read(0xaa);
                while (1); /* loop forever */
                }

                n
                ĐT: 0986 492 489

                Tham khảo:

                Comment


                • #9
                  Nguyên văn bởi minhhieu Xem bài viết
                  Đi học cũng tốt. Tuy nhiên cái này đơn giản không cần đi học. bạn chỉ cần đọc help của Codevision là biết ngay.
                  Trích đoạn trong help của codevision

                  I2C Bus Functions
                  Example how to access an Atmel 24C02 256 byte I2C EEPROM:

                  /* the I2C bus is connected to PORTB */
                  /* the SDA signal is bit 3 */
                  /* the SCL signal is bit 4 */
                  #asm
                  .equ __i2c_port=0x18
                  .equ __sda_bit=3
                  .equ __scl_bit=4
                  #endasm

                  /* now you can include the I2C Functions */
                  #include <i2c.h>

                  /* function declaration for delay_ms */
                  #include <delay.h>

                  #define EEPROM_BUS_ADDRESS 0xa0

                  /* read a byte from the EEPROM */
                  unsigned char eeprom_read(unsigned char address) {
                  unsigned char data;
                  i2c_start();
                  i2c_write(EEPROM_BUS_ADDRESS);
                  i2c_write(address);
                  i2c_start();
                  i2c_write(EEPROM_BUS_ADDRESS | 1);
                  data=i2c_read(0);
                  i2c_stop();
                  return data;
                  }

                  /* write a byte to the EEPROM */
                  void eeprom_write(unsigned char address, unsigned char data) {
                  i2c_start();
                  i2c_write(EEPROM_BUS_ADDRESS);
                  i2c_write(address);
                  i2c_write(data);
                  i2c_stop();
                  /* 10ms delay to complete the write operation */
                  delay_ms(10);
                  }

                  void main(void) {
                  unsigned char i;
                  /* initialize the I2C bus */
                  i2c_init();
                  /* write the byte 55h at address AAh */
                  eeprom_write(0xaa,0x55);
                  /* read the byte from address AAh */
                  i=eeprom_read(0xaa);
                  while (1); /* loop forever */
                  }

                  Cảm ơn bác đã cho ý kiến, nhưng hơi lạc ah. Em cần làm giao tiếp hai avr chứ ko phải làm avr với các thiết bị có sẵn thiết lập slave I2C.

                  Comment


                  • #10
                    hehe
                    cũng đang học giao tiếp avr đây, tìm mãi không thấy có tài liệu
                    quyết định học giao tiếp avr với pc trước
                    cái kia tính sau vậy.
                    ĐỪNG KHÓC CHO NHỮNG GÌ ĐÃ QUA, MÀ HÃY CƯỜI CHO NHỮNG ĐIỀU SẮP TỚI!

                    Comment


                    • #11
                      bạn đọc datasheet đi, và dùng codevision, vào thiết lập thông số là CV nó làm hết mà.kể cả add của slave phần cứng nó cũng lọc luôn. hình như là phần cứng nó chạy hết rồi. phần mềm thì thằng CV nó hỗ trợ sẵn..

                      thân!

                      Comment

                      Về tác giả

                      Collapse

                      Proturtle Tìm hiểu thêm về Proturtle

                      Bài viết mới nhất

                      Collapse

                      Đang tải...
                      X