PIC 18f4550 cần giúp đỡ

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • annhan91
    Thành viên chính thức
    • Sep 2011
    • 70

    #1

    PIC 18f4550 cần giúp đỡ

    mọi người cho e hỏi con PIc8f4550 chân UART và SPI trùng nhau mà e muốn sử dụng cả 2 chế độ này thì làm sao vậy
  • kidteam
    Thành viên tích cực
    • Nov 2010
    • 1633

    #2
    Nguyên văn bởi annhan91 Xem bài viết
    mọi người cho e hỏi con PIc8f4550 chân UART và SPI trùng nhau mà e muốn sử dụng cả 2 chế độ này thì làm sao vậy
    Vậy bạn dùng EUART của PIC còn SPI thì bạn tự viết đi. SPI mềm dễ viết mà.

    Comment

    • queduong
      Moderator
      • Jul 2005
      • 6781

      #3
      Nguyên văn bởi annhan91 Xem bài viết
      mọi người cho e hỏi con PIc8f4550 chân UART và SPI trùng nhau mà e muốn sử dụng cả 2 chế độ này thì làm sao vậy
      dùng đồng thời cùng 1 lúc thì không được. lúc dùng SPI thì set là SPI ... lúc dùng UART thì lại set là UART.

      Nên dùng thêm 1 hoặc 2 I/O mà ngắt dữ liệu kẻo xung clock của SPI nó lại bem vào RX của 232 !
      Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

      Comment

      • annhan91
        Thành viên chính thức
        • Sep 2011
        • 70

        #4
        a nào có tài liệu gì về spi bằng phần mêm ko...tại đang làm đồ án dính tới internet USB và UART nên chẳng biết sài con nào hỗ trợ 1 lúc hết..

        Comment

        • kidteam
          Thành viên tích cực
          • Nov 2010
          • 1633

          #5
          Code:
          unsigned char KT_89S_SPI(unsigned char d) {
          	
          	byte i, r;
          	r=0;
          	for(i=0;i<8;++i) {
          		r<<=1;
          		r|=rMISO;
          		MOSI=0;
          		if(d&0x80)
          			MOSI=1;
          		d<<=1;
          		SCK=1;
          		_asm
          		nop
          		nop
          		_endasm
          		SCK=0;
          		_asm
          		nop
          		nop
          		_endasm
          	}
          	return r;
          }

          Comment

          • dangtuandat
            Thành viên tích cực
            • Dec 2009
            • 257

            #6
            Nguyên văn bởi annhan91 Xem bài viết
            a nào có tài liệu gì về spi bằng phần mêm ko...tại đang làm đồ án dính tới internet USB và UART nên chẳng biết sài con nào hỗ trợ 1 lúc hết..
            dùng con at91 sam ý có cả 2 nhưng nếu chưa biết spi mềm thì mình nghĩ bạn ko đủ sức chiến con đó đâu,nên dùng 2 con chíp đi thuận tiện và dễ làm hơn nhiều
            sale of Gobal Automation Solution Company Limited

            Comment

            • rptdnmqs
              Thành viên tích cực
              • Nov 2008
              • 440

              #7
              Xem coi con nao ho tro 2 UART.
              , , ,

              Comment

              • trimen
                Thành viên tích cực
                • Nov 2009
                • 189

                #8
                Nguyên văn bởi annhan91 Xem bài viết
                a nào có tài liệu gì về spi bằng phần mêm ko...tại đang làm đồ án dính tới internet USB và UART nên chẳng biết sài con nào hỗ trợ 1 lúc hết..
                Bạn sử dụng PIC24FJ256GB106 hỗ trợ đủ những gì bạn cần

                Comment

                • qnkhah
                  Thành viên mới
                  • Mar 2014
                  • 3

                  #9
                  ai giúp giùm sửa lỗi khi biên dịch thì nó báo sai tốc độ baund là 9615 trong khi thiết lập truyền 9600
                  code
                  //////////////////////////////////
                  char uart_rd;

                  void main() {
                  ADCON1 = 0x0F; // turn off analog inputs
                  CMCON = 0x07; // turn off comparators

                  UART1_Init(9600); // Initialize UART module at 9600 bps
                  Delay_ms(100); // Wait for UART module to stabilize

                  UART1_Write_Text("Start");
                  UART1_Write(10);
                  UART1_Write(13);

                  while (1) { // Endless loop
                  if (UART1_Data_Ready()) { // If data is received,
                  uart_rd = UART1_Read(); // read the received data,
                  UART1_Write(uart_rd); // and send data via UART
                  }
                  }
                  }

                  cảnh báo
                  1509 Generated baud rate is 9615 bps (error = 0.16 percent) 123.c

                  Comment

                  • qnkhah
                    Thành viên mới
                    • Mar 2014
                    • 3

                    #10
                    em dùng pic 18f4550 ai giúp e với, thanks email quyenngockhanh@gmail.com

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    Đang tải...