亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3374 | 回復(fù): 1
打印 上一主題 下一主題

LED寄存器讀寫的問題~ [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-06-20 13:22 |只看該作者 |倒序瀏覽
BOARD:S3C2410_V4          KERNEL:KERNEL-2.6.8.1

LED寄存器讀寫的問題
pREG = ioremap(0x56000010, 0x20);           //GPBCON 地址56000010
printk("Virtual addr base = 0x%lx\n", (unsigned long)pREG);
tmp = * (volatile unsigned long *)pREG;
printk("GPBCON = 0x%lx\n", tmp);
tmp = * (volatile unsigned long *)(pREG + 1);
printk("GPBDAT = 0x%lx\n", tmp);
printk("Seting LED Test Driver...\n");
//GPB0是GPBCON的最底兩位,led接GPB0  00:IN 01:OUT
* (volatile unsigned long *)pREG = 0x155555;//0101010101010101010101 GPBCON共22位
* (volatile unsigned long *)(pREG + 1) = 0xfff;
tmp = * (volatile unsigned long *)pREG;
printk("GPBCON = 0x%lx\n", tmp);
tmp = * (volatile unsigned long *)(pREG + 1);
printk("GPBDAT = 0x%lx\n", tmp);
printk("LED Test Driver initiated.\n");

此模塊insmod時就將 LED熄滅了, 可我把底2位值改為,00時也沒見它再亮啊.
問題:pREG = 0x155555 它的寄存器位設(shè)置就是轉(zhuǎn)化2進制對位的設(shè)置 10101010101010101吧?
問題:GPBCON 有沒有大小端的說法? 我要把它的狀態(tài)改變是否把最底2位變?yōu)?0 就可以把燈再點亮呢?

基礎(chǔ)差.含涵~

[ 本帖最后由 jn200002 于 2008-6-20 14:59 編輯 ]

論壇徽章:
0
2 [報告]
發(fā)表于 2008-06-20 15:46 |只看該作者
jn兄寫的好亂啊


給你摘了一段Atmel的LED測試程序,你參考一下,如果需要完整版聯(lián)系我

  1. unsigned char LED_Toggle(unsigned int led)
  2. {
  3. #ifdef PINS_LEDS
  4.     // Check if LED exists
  5.     if (led >= numLeds) {

  6.         return 0;
  7.     }

  8.     // Toggle LED
  9.     if (PIO_GetOutputDataStatus(&pinsLeds[led])) {

  10.         PIO_Clear(&pinsLeds[led]);
  11.     }
  12.     else {

  13.         PIO_Set(&pinsLeds[led]);
  14.     }

  15.     return 1;
  16. #else
  17.     return 0;
  18. #endif
  19. }
復(fù)制代碼

  1. int main()
  2. {
  3.     PIO_Configure(pPins, PIO_LISTSIZE(pPins));
  4.     DBGU_Configure(DBGU_STANDARD, 115200, BOARD_MCK);
  5.     printf("-- Getting Started Project 1.4 --\n\r");
  6.     printf("Board : %s, Chip ID : 0x%08X\n\r", BOARD_NAME, AT91C_BASE_DBGU->DBGU_CIDR);

  7.     // Configuration
  8.     ConfigurePit();
  9.     ConfigureTc();
  10.     ConfigureButtons();
  11.     ConfigureLeds();
  12.    
  13.     // Main loop
  14.     while (1) {

  15.         // Wait for LED to be active
  16.         while (!pLedStates[0]);

  17.         // Toggle LED state if active
  18.         if (pLedStates[0]) {
  19.             LED_Toggle(0);
  20.             printf("1 ");
  21.         }

  22.         // Wait for 500ms
  23.         Wait(500);
  24.     }
  25. }
復(fù)制代碼
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP