xin code LCD nokia 1202 trên IAR

  • Thread starter huylong
  • Start date
H

huylong

Guest
Chào các anh chi trên diễn đàn, em đã tải code mẫu điều khiển LCD 1202 về cho chạy trên IAR và CCS nhưng cả 2 đều không chạy được, vậy anh chị cho em xin code mẫu trên IAR nhé. cảm ơn anh chị.
Tiện thể anh chị cho em biết cách tạo file thư viện .h trên IAR với ạ
Đây là lỗi khi em nạp code trên IAR: ( khi dịch thì không có lỗi gì hết )
Building configuration: LCD1 - Debug
Updating build tree...

Linking
xlink.exe C:\Documents and Settings\Admin\Desktop\STE2007_driver_msp430\Debug\Obj\main.r43 -o C:\Documents
and Settings\Admin\Desktop\STE2007_driver_msp430\Debug\Exe\LCD1.d43 -l C:\Documents and Settings\Admin\
Desktop\STE2007_driver_msp430\Debug\List\LCD1.map -xms -IC:\Program Files\IAR Systems\Embedded Workbench
6.0 Evaluation\430\LIB\ -f C:\Program Files\IAR Systems\Embedded Workbench 6.0 Evaluation\430\CONFIG\
lnk430G2452.xcl -D_STACK_SIZE=50 -rt C:\Program Files\IAR Systems\Embedded Workbench 6.0 Evaluation\430\LIB\
DLIB\dl430fn.r43 -e_PrintfLarge=_Printf -e_ScanfLarge=_Scanf -D_DATA16_HEAP_SIZE=50 -s __program_start
-D_DATA20_HEAP_SIZE=50

IAR Universal Linker V5.2.1.11
Copyright 1987-2011 IAR Systems AB.
Error[e46]: Undefined external "lcd_init" referred in main ( C:\Documents and Settings\Admin\Desktop\
STE2007_driver_msp430\Debug\Obj\main.r43 )
Error[e46]: Undefined external "lcd_clear" referred in main ( C:\Documents and Settings\Admin\Desktop\
STE2007_driver_msp430\Debug\Obj\main.r43 )
Error[e46]: Undefined external "lcd_write" referred in main ( C:\Documents and Settings\Admin\Desktop\
STE2007_driver_msp430\Debug\Obj\main.r43 )
Error[e46]: Undefined external "lcd_gotoxy" referred in main ( C:\Documents and Settings\Admin\Desktop\
STE2007_driver_msp430\Debug\Obj\main.r43 )
Error[e46]: Undefined external "lcd_puts" referred in main ( C:\Documents and Settings\Admin\Desktop\
STE2007_driver_msp430\Debug\Obj\main.r43 )

146 bytes of CODE memory
80 bytes of DATA memory (+ 6 absolute )
829 bytes of CONST memory

Errors: 5
Warnings: none

Error while running Linker

Total number of errors: 5
Total number of warnings: 0
 

mafiaWolf

Chủ tịch Hội phụ nữ PIF
Có khi add file header sai :D
Bạn thử sửa lại phần add trong main <header.h> thành "header.h" xem hoặc là tạo project mới xem sao :)
 
H

huylong

Guest
Hai cách viết trên của bạn là như nhau, mình đã thử và không được. Code c trên CCS khác trên IAR, vì thế phần code mẫu có chia làm 2 loại là IAR và CCS đấy thôi. Chỉ có code ASM là như nhau cho cả CCS và IAR
 

mafiaWolf

Chủ tịch Hội phụ nữ PIF
À..nếu vậy thì bạn khai báo prototype chưa :)
Chứ nó báo Undefined external thì không phải hoàn toàn do code sai au :3cool_adore:
 

gochit

Cố Vấn CLB
Hai cách viết trên của bạn là như nhau, mình đã thử và không được. Code c trên CCS khác trên IAR, vì thế phần code mẫu có chia làm 2 loại là IAR và CCS đấy thôi. Chỉ có code ASM là như nhau cho cả CCS và IAR
2 cách viết trên là khác nhau, cái dấu <> là lấy trong thư viện chuẩn của trình biên dịch, cái dấu "" là lấy trong project, trong trường hợp của bạn nó cho kết quả giống nhau không có nghĩa là nó như nhau.
Còn vấn đề của bạn thì có thể bạn chưa add file .c vào project nên nó chưa dịch file C nên chưa thể link với các hàm đó được :)
 
H

huylong

Guest
trong thư viện chuẩn của IAR mình chỉ cần add file .h ví dụ <msp430g2152> là chạy luôn không cần add file .c nào cả. bạn thử làm và giải đáp cho mình với.
Bạn có thể cho mình biết hoạt động của thư viện không?
các hàm, biến trong thư viện được sử dunhj như thế nào?
 

messier

Ban Chủ Nhiệm
trong thư viện chuẩn của IAR mình chỉ cần add file .h ví dụ <msp430g2152> là chạy luôn không cần add file .c nào cả. bạn thử làm và giải đáp cho mình với.
Bạn có thể cho mình biết hoạt động của thư viện không?
các hàm, biến trong thư viện được sử dunhj như thế nào?
Muốn sử dụng thư viện LCD1202 thì đầu tiên bạn cần copy 2 file STE2007.c và STE2007.h vào thư mục project. Sau đó include file STE2007.h vào file main. :D
 
H

huylong

Guest
em m như anh nói ngay từ đầu mà đến nay vẫn chưa chạy được. dịch thì ok nhưng nạp vào kít thì báo lỗi thế này:



[e46]: Undefined external "lcd_init" referred in main ( C:\Documents and Settings\Admin\Desktop\
STE2007_driver_msp430\Debug\Obj\main.r43 )
Error[e46]: Undefined external "lcd_clear" referred in main ( C:\Documents and Settings\Admin\Desktop\
STE2007_driver_msp430\Debug\Obj\main.r43 )
Error[e46]: Undefined external "lcd_gotoxy" referred in main ( C:\Documents and Settings\Admin\Desktop\
STE2007_driver_msp430\Debug\Obj\main.r43 )
Error[e46]: Undefined external "lcd_puts" referred in main ( C:\Documents and Settings\Admin\Desktop\
STE2007_driver_msp430\Debug\Obj\main.r43 )



code em lấy trên forum PIF:
Code:
#include <msp430g2152.h>
#include "STE2007.h"
#include "PIF_logo.h"
//#include "lcd.c"
int main(void) {
    int i;
    WDTCTL = WDTPW | WDTHOLD;                    // Stop watchdog timer
    BCSCTL1 = CALBC1_16MHZ;                        // Set range
    DCOCTL = CALDCO_16MHZ;                          // Set DCO step + modulation
    lcd_init();
    lcd_clear();
    for(i = 0; i < 768; i++){
        //lcd_write(FLAG_DATA, PIF_logo[i]);
    }
    lcd_gotoxy(0,7);
    for(i = 0; i < 192; i++){
        //lcd_write(FLAG_DATA, 0x00);
    }
    lcd_gotoxy(12,7);
    lcd_puts("payitforward");
 
 
    while(1)
    {
    }
 
H

huylong

Guest
mình đã tạo được thư viện LCD 1202 và chia sẻ trên diễn đàn. cám ơn mọi người đã giúp đỡ
 
Top