User Tag List

kết quả từ 1 tới 7 trên 7
Cây cảm ơn2Cảm ơn
  • 1 Post By natra2k2
  • 1 Post By t3h

Ðề tài: Lệnh trong C

  
  1. #1
    Thành viên tích cực byte's Avatar
    Tham gia
    Oct 2007
    Nơi Cư Ngụ
    Hà Nội
    Bài viết
    111
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Lệnh trong C

    Em đọc qua datasheet thấy có đoạn như thế này

    TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
    trong đó các tên TWINT, TWSTA, TWEN là tên các bit của thanh ghi TWCR.
    Bác cho em hỏi sau câu lệnh này thì TWCR nó có giá trị là bao nhiêu vậy? Em chẳng biết lần thế nào cho ra nữa. Thanks
    cụ thể các thanh ghi của nó là

    TWCR : TWINT - TWEA - TWSTA - TWSTO - TWWC - TWEN – bỏ qua - TWIE

    CHỦ ĐỀ TƯƠNG TỰ:

    Phone: 0978536011
    ductho0409@gmail.com

  2. #2
    Thành viên tích cực natra2k2's Avatar
    Tham gia
    Oct 2005
    Bài viết
    497
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Click here to enlarge Nguyên văn bởi byte Click here to enlarge
    Em đọc qua datasheet thấy có đoạn như thế này

    TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
    trong đó các tên TWINT, TWSTA, TWEN là tên các bit của thanh ghi TWCR.
    Bác cho em hỏi sau câu lệnh này thì TWCR nó có giá trị là bao nhiêu vậy? Em chẳng biết lần thế nào cho ra nữa. Thanks
    cụ thể các thanh ghi của nó là

    TWCR : TWINT - TWEA - TWSTA - TWSTO - TWWC - TWEN – bỏ qua - TWIE
    Bạn tìm file include xem nó định nghĩa mấy bit TWINT, TWSTA như thế nào, mình đoán là TWINT là một hằng số, giá trị bằng 7, tương tự TWSTA = 5, TWEN = 2.

    Lệnh trên có nghĩa là cấu hình cho thanh ghi TWCR với bit TWINT, TWSTA, TWEN bằng 1.
    1 << TWINT : tức là 1 dịch trái 7 bước, lấy kết quả đó OR với 1 dịch trái 5 bước, tiếp tục OR với 1 dịch trái 2 bước.
    1<<7 = 0b10000000
    1<<5 = 0b00100000
    1<<2 = 0b00000100
    -------------------
    TWCR= 0b10100100

    truongvanqua đã cảm ơn nội dung này.

  3. #3
    t3h
    t3h is offline
    Thành viên mới t3h's Avatar
    Tham gia
    Jul 2007
    Bài viết
    27
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    câu lệnh"<<" đó có nghĩa là dịch giá trị 0b00000001 (=1) sang trái với số lần là các vị trí của TWINT, TWSTA, TWEN ,
    khi đó ta có TWCR = (0b100000000)|(0b00100000)|(0b00000100)=0b10100100 ;
    chỉ có vậy thôi. các câu lệnh trong datasheet hầu hết được viết như vậy.

    matrix đã cảm ơn nội dung này.

  4. #4
    Thành viên tích cực byte's Avatar
    Tham gia
    Oct 2007
    Nơi Cư Ngụ
    Hà Nội
    Bài viết
    111
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    à, em hiểu rồi, thanks các bác nhiều lắm

    Phone: 0978536011
    ductho0409@gmail.com

  5. #5
    Thành viên mới huntermuop's Avatar
    Tham gia
    May 2010
    Bài viết
    4
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    lệnh !

    Chào các bạn cho mình hỏi lệnh này có nghĩa là gì: while(!a)


  6. #6
    Thành viên tích cực chinh_cover's Avatar
    Tham gia
    Apr 2009
    Bài viết
    164
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    nếu a=1 thì !a=0,và ngược lại,


  7. #7
    Thành viên tích cực manh89's Avatar
    Tham gia
    Oct 2009
    Bài viết
    443
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Click here to enlarge Nguyên văn bởi huntermuop Click here to enlarge
    Chào các bạn cho mình hỏi lệnh này có nghĩa là gì: while(!a)
    while(!a) : trong khi a không bằng 1(tức a=0) ,còn nếu while(a):trong khi a=1


Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không được gửi luồng mới
  • Bạn không được trả lời bài viết
  • Bạn không được gửi file đính kèm
  • Bạn không được sửa bài viết của mình
  •