[Help]Config để dùng ADC1 và UART1 trên STM8S003

Thảo luận trong 'STM8'

Đang xem chủ đề này ( Thành viên: 0, Khách: 0)

  1. minhchien008

    minhchien008 Học sinh phổ thông

    Tham gia ngày:
    11/10/14
    Bài viết:
    6
    Đã được thích:
    1
    Điểm thành tích:
    3
    Giới tính:
    Nam
    Tình hình là mình khai báo và sử dụng 2 chức năng này dộc lập thì ok mà khi dùng chung trong một project thì chỉ chạy được ADC còn UART thì tịt mất. Mọi người ai làm khoản này rồi cho thể hướng dẫn mình xí được không. Mình muốn đọc ADC và gửi lên PC qua UART.
     
  2. NgoHungCuong

    NgoHungCuong http://ngohungcuong.com

    Tham gia ngày:
    19/8/12
    Bài viết:
    4,061
    Đã được thích:
    9,152
    Điểm thành tích:
    69
    Giới tính:
    Nam
    Nghề nghiệp:
    Thất nghiệp
    Nơi ở:
    Lâm Thao - Phú Thọ
    lỗi như thế nào bạn? Code đâu? Có hình ảnh minh họa gì ko??.....
     
  3. minhchien008

    minhchien008 Học sinh phổ thông

    Tham gia ngày:
    11/10/14
    Bài viết:
    6
    Đã được thích:
    1
    Điểm thành tích:
    3
    Giới tính:
    Nam
    Mã:
       /* UART1 configuration ------------------------------------------------------*/
          UART1_DeInit();
      /* UART1 configured as follow:
            - BaudRate = 115200 baud
            - Word Length = 8 Bits
            - One Stop Bit
            - No parity
            - Receive and transmit enabled
            - UART1 Clock disabled
      */
         UART1_Init((uint32_t)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, \
          UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);
          UART1_Cmd(ENABLE);
      //-------------------------------------
    /*  Init GPIO for ADC1 */
      GPIO_Init(GPIOD, GPIO_PIN_2, GPIO_MODE_IN_FL_NO_IT);
    
      /* De-Init ADC peripheral*/
      ADC1_DeInit();
    
      /* Init ADC1 peripheral */
      ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, ADC1_CHANNEL_3, ADC1_PRESSEL_FCPU_D2, \
                ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL3,\
                DISABLE);
    
      /* Enable EOC interrupt */
      ADC1_ITConfig(ADC1_IT_AWS3,ENABLE);
    
    //-------------------------------------------------  
    đây là phần khai báo 2 tụi nó :D nếu bỏ phần ADC đi thì UART chạy bình thường mà thêm ADC dô là UART tịt mất trong while(1) mình chỉ viết 2 dòng lệnh test thôi
    putchar(48);
    delay_ms(500);
     
  4. NgoHungCuong

    NgoHungCuong http://ngohungcuong.com

    Tham gia ngày:
    19/8/12
    Bài viết:
    4,061
    Đã được thích:
    9,152
    Điểm thành tích:
    69
    Giới tính:
    Nam
    Nghề nghiệp:
    Thất nghiệp
    Nơi ở:
    Lâm Thao - Phú Thọ
    lại giống thầy bói xem voi.
     
    tdm thích bài này.
  5. Tran luong

    Tran luong Trần Đình Lượng, Đt: 0989285187-HCM

    Tham gia ngày:
    11/10/12
    Bài viết:
    483
    Đã được thích:
    370
    Điểm thành tích:
    63
    Giới tính:
    Nam
    Nghề nghiệp:
    Electronic Engineer
    Nơi ở:
    AA14A, Thất Sơn, Khu Bắc Hải, Quận 10, TPHCM
    bỏ ngắt ADC sẽ được ngắt UART :D
     
  6. MinhTinkerer

    MinhTinkerer Kỹ sư Banned

    Tham gia ngày:
    22/4/15
    Bài viết:
    127
    Đã được thích:
    100
    Điểm thành tích:
    28
    Giới tính:
    Nam
    Bạn ngâm cứu kỉ về phần ADC này một chút,bạn làm vừa xai và vừa thiếu .
    Trong gói thư viện STD có. Ví dụ mẫu ADC2, bạn tham khảo ở đó.rồi làm lại thành ADC1.
    Hai bạn này cười người khác có thể quy về phạm spam.
     
    nhan94 thích bài này.
  7. ga_cong

    ga_cong Kỹ sư

    Tham gia ngày:
    14/10/12
    Bài viết:
    295
    Đã được thích:
    123
    Điểm thành tích:
    43
    Giới tính:
    Nam
    thêm dòng lệnh ADC1_Cmd(ENABLE);
     

Chia sẻ trang này