lian

    1. 初学定时计数器的疑问 9/4817 嵌入式系统 2010-06-23
      一 :   你指的是在掉用中断的这段时间  硬件是否还在计数是吧?  我想是的  只要允许位没改就在计数 二:    你可以设置成工作方式2,自动重装,这样就没有你说的延迟的问题了
    2. 关于SDRAM的一点总结 6/4378 嵌入式系统 2010-06-12
      学习........ 多谢..........
    3. 串口驱动的问题(iso7816) 12/8164 嵌入式系统 2010-06-04
      /* * Change the port parameters */ static void atmel_set_termios(struct uart_port *port, struct ktermios *termios,                               struct ktermios *old) {         unsigned long flags;         unsigned int mode, imr, quot, baud, fidi;         if(AT91SAM9260_BASE_US3 != (port)->mapbase)         {                 /* Get current mode register */                 mode = UART_GET_MR(port) & ~(ATMEL_US_USCLKS | ATMEL_US_CHRL                                                 | ATMEL_US_NBSTOP | ATMEL_US_PAR                                                 | ATMEL_US_USMODE);                 baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk / 16);                //        figure out the baud that allowed                 quot = uart_get_divisor(port, baud);                                                                                //        for BRGR(baud rate generator register)                 if (quot > 65535) {        /* BRGR is 16-bit, so switch to slower clock */                         quot /= 8;                         mode |= ATMEL_US_USCLKS_MCK_DIV8;                 }                 /* byte size */                 switch (termios->c_cflag & CSIZE) {                 case CS5:                         mode |= ATMEL_US_CHRL_5;                         break;                 case CS6:                         mode |= ATMEL_US_CHRL_6;                         break;                 case CS7:                         mode |= ATMEL_US_CHRL_7;                         break;                 default:                         mode |= ATMEL_US_CHRL_8;                         break;                 }                 /* stop bits */                 if (termios->c_cflag & CSTOPB)                         mode |= ATMEL_US_NBSTOP_2;                 /* parity */                 if (termios->c_cflag & PARENB) {                         /* Mark or Space parity */                         if (termios->c_cflag & CMSPAR) {                                 if (termios->c_cflag & PARODD)                                         mode |= ATMEL_US_PAR_MARK;                                 else                                         mode |= ATMEL_US_PAR_SPACE;                         } else if (termios->c_cflag & PARODD)                                 mode |= ATMEL_US_PAR_ODD;                         else                                 mode |= ATMEL_US_PAR_EVEN;                 } else                         mode |= ATMEL_US_PAR_NONE;                 /* hardware handshake (RTS/CTS) */                 if (termios->c_cflag & CRTSCTS)                         mode |= ATMEL_US_USMODE_HWHS;                 else                         mode |= ATMEL_US_USMODE_NORMAL;         }         else         {                 /* Get current mode register */                 printk("set_iso7816.\n");                        mode =  ATMEL_US_USMODE_ISO7816_T0 |                                 ATMEL_US_USCLKS_MCK |                                 ATMEL_US_CLKO |                                 //ATMEL_US_NBSTOP_2 |                                 ATMEL_US_FILTER |                                 ATMEL_US_INACK |                                 ATMEL_US_DSNACK;                 //_DIV8;//ATMEL_US_USCLKS; | ATMEL_US_SYNC /*        mode = UART_GET_MR(port) & ~(ATMEL_US_USCLKS | ATMEL_US_CHRL ATMEL_US_USMODE_NORMAL                | ATMEL_US_NBSTOP | ATMEL_US_PAR | ATMEL_US_USMODE);*/                 printk("mode:%x.\n",mode);                 printk("port->uartclk:%d.\n",port->uartclk);                        quot = (port->uartclk) / 3570000;                //        for SCK                        baud = 9600;                        fidi = 0x174;                //        for etu                 printk("fidi:%d;quot:%d.\n",fidi,quot);                        if (quot > 65535)                 {        /* BRGR is 16-bit, so switch to slower clock */                                        quot /= 8;                                        mode |= ATMEL_US_USCLKS_MCK_DIV8;                        }         }         spin_lock_irqsave(&port->lock, flags);         port->read_status_mask = ATMEL_US_OVRE;         if (termios->c_iflag & INPCK)                 port->read_status_mask |= (ATMEL_US_FRAME | ATMEL_US_PARE);         if (termios->c_iflag & (BRKINT | PARMRK))                 port->read_status_mask |= ATMEL_US_RXBRK;         if (atmel_use_dma_rx(port))                 /* need to enable error interrupts */                 UART_PUT_IER(port, port->read_status_mask);         /*          * Characters to ignore          */         port->ignore_status_mask = 0;         if (termios->c_iflag & IGNPAR)                 port->ignore_status_mask |= (ATMEL_US_FRAME | ATMEL_US_PARE);         if (termios->c_iflag & IGNBRK) {                 port->ignore_status_mask |= ATMEL_US_RXBRK;                 /*                  * If we're ignoring parity and break indicators,                  * ignore overruns too (for real raw support).                  */                 if (termios->c_iflag & IGNPAR)                         port->ignore_status_mask |= ATMEL_US_OVRE;         }         /* TODO: Ignore all characters if CREAD is set.*/         /* update the per-port timeout */         uart_update_timeout(port, termios->c_cflag, baud);         /*          * save/disable interrupts. The tty layer will ensure that the          * transmitter is empty if requested by the caller, so there's          * no need to wait for it here.          */         imr = UART_GET_IMR(port);         UART_PUT_IDR(port, -1);         /* disable receiver and transmitter */         UART_PUT_CR(port, ATMEL_US_TXDIS | ATMEL_US_RXDIS);         /* set the parity, stop bits and data size */         UART_PUT_MR(port, mode);         /* set the baud rate */         UART_PUT_BRGR(port, quot);         if(AT91SAM9260_BASE_US3 == (port)->mapbase)         {                 UART_PUT_FIDI(port, fidi);                //        add         }         UART_PUT_CR(port, ATMEL_US_RSTSTA | ATMEL_US_RSTRX);         UART_PUT_CR(port, ATMEL_US_TXEN | ATMEL_US_RXEN);         /* restore interrupts */         UART_PUT_IER(port, imr);         /* CTS flow-control and modem-status interrupts */         if (UART_ENABLE_MS(port, termios->c_cflag))                 port->ops->enable_ms(port);         spin_unlock_irqrestore(&port->lock, flags); } 以上是我对原有驱动做了修改的部分(只是将指定串口设置为iso7816模式),请各位高手帮助下
    4. 网卡奇怪的问题 6/3647 嵌入式系统 2010-03-26
      你现在中断是边沿触发的么? 试试改成电平触发方式
    5. 为什么P3^7接IRQ呢?用中断不是更好吗,接P3.2用中断试试吧
    6. REBUILD了好几次了。我快崩溃了。 我就改了一些逻辑,然后有一个地方加了try catch。 其他的没有该什么东西,而且模拟器上都是正确地。
    7. GPRS和PC通讯的问题(80求助) 3/3223 嵌入式系统 2010-03-02
      将模块配置为机器的外网地址,以及打开的端口,应该是可以的。
    8. 定时器问题! 3/3046 stm32/stm8 2010-02-26
                                       怎么结贴啊
    9. 转让天嵌2440开发板arm9 13/6851 ARM技术 2010-02-23
      真是炙手可热啊,哈哈 不错的,560挺值的了。我买的时候加邮费590呢,搞了几个月了,对linux驱动这块有了很大的提高; 还是需要继续努力啊
    10. 我也在调试,谁成功了,帮帮我,QQ621520,送礼物!!!
    11. 再问串口驱动的问题 20/7527 嵌入式系统 2010-01-12
      这段代码本身应该不会有问题吧。 楼主是如何定位到此处的呢?
    12. 做Wince是不是没有前途啊 45/14990 嵌入式系统 2010-01-11
      从总体上来说, 确实如此 但如果在主打wince的公司, 做得好才有前途
    13. 牛人啊! 学习下。
    14. wince设备被识别为U盘问题 47/12586 嵌入式系统 2009-12-01
      STORE_Init: failed to open store DSK1:; error = 4319 这个错误是不是还和HIVE注册表有关?因为HIVE注册表是存在NAND FLASH上的,会不会因为这个open store失败?
    15. 对方是个得分手各地方个
    16. 关注
    17. S3C2440+WinCE6.0电源设置为什么不能保存? 8/4885 嵌入式系统 2009-10-20
      是否是关机没有保存注册表所致?
    18. 引用 8 楼 codewarrior 的回复: 关机的时候一次性保存好不就得了?如果用户自己扒了电池,那不是你应该要考虑和负责的事情。
      外接电源的 ....
    19. 请教一问题 6/3015 stm32/stm8 2009-09-24
                                       STM32F101可以接2个外部晶体,一个是高速的(称为HSE),范围是4MHz~16MHz;另一个是低速的(称为LSE),最高为1MHz,典型值是32.768kHz。 HSE可以为CPU提供时钟,而LSE不能作为CPU时钟,LSE只能为独立看门狗和内部RTC提供时钟。
    20. 急问stm32串口使用dma接受的问题 21/9043 stm32/stm8 2009-09-17
                                       我的不是用的中断啊 你可以全速运行  然后停止 看看接受的数据 然后再全速运行 再停止 看看接受的数据   是不是有变化   我这是没变化  设断点 也不是每次都运行到断点

最近访客

< 1/1 >

统计信息

已有98人来访过

  • 芯积分:--
  • 好友:--
  • 主题:15
  • 回复:59

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言