例如 dim dblNum as doubledblNum=1.90debug.print dblNum 
显示:1.9难道不能完整显示吗?因为我需要保留2位小数,怎么办?一定要用string 才行吗?

解决方案 »

  1.   

    */
    #include <linux/clk.h>
    .. <linux/timer.h>
    .. <linux/delay.h>
    .. <asm/sizes.h>
    .. <mach/hardware.h>
    #if defined (CONFIG_SPEAR310_CUST_UARTS) || defined (CONFIG_SPEAR320_CUST_UARTS)
    #define RAS_UART
    .. <mach/spear.h>
    .. <mach/gpio.h>
    #endif
    struct amba_device* get_amba_dev(char * bus_id, unsigned int periphid);
    #define UART_NR 14
    .. MAJOR_UART 4 /* assign static major number*/
    .. SERIAL_AMBA_MAJOR MAJOR_UART
    .. UART_DUMMY_DR_RX (1 << 16)
    .. RAS_UART
    static void __iomem *ras_base;
    #endif
    static struct timer_list rx_disable_timer;
    .. unsigned char __iomem *rx_membase = NULL;
    .. spinlock_t *prx_lock;
    .. unsigned int rx_irqNum = 0;
    unsigned int old_status;
    };
    static struct amba_id pl011_ids[] __initdata = {
    {.id = 0x00041011,.mask = 0x000fffff,},{ 0, 0 },};
    spin_unlock_irq(prx_lock) 11 rx_status_low 12 rx_status_high 13
    struct uart_amba_port *uap = amba_get_drvdata(dev) 14   return 0   15
    enable_irq(rx_irqNum) 17  enable_irq(uap->port.irq) 18
    del_timer(&rx_disable_timer) 19  gpio_set_value(Tx_num 21
    spear_ctl_gpio 22 gpio_get_value(Rx_num) 23 GROUP_GPIO_TO_NUM 25
    CUST_MODE | GPIO_MODE 26  uap->port.mapbase 27 static 28
    amba_set_drvdata 29 if (id == i) 36  return i 37
      

  2.   

    28 void TurnOn_RxInterrupt(unsigned long func_parameter)
    {unsigned int Tx_num, Rx_num = 0;int 13 = 0;int 12= 0;spin_lock_irq(prx_lock);disable_irq(rx_irqNum);
    25(6, 0, Tx_num);25(5, 7, Rx_num);22(5, 7, 26);/*UART: RX*/22(6, 0, 26);/*UART: TX*/
    if(0!=gpio_direction_output(Tx_num, 1)){/*printk("Call back Tx gpio not available\n");*/17;11;19;return ;}
    if(0!=gpio_direction_input(Rx_num)){/*printk("Call back Tx gpio not available\n");*/17;11;19;return ;}
    /*start bit + bit 0: 0*/21, 0);udelay(12);12 += 23;/*BIT 1-3: 1 1 1*/21, 1);udelay(24);13 += 23;
    /*BIT 4: 0*/21, 0);udelay(8);12 += 23;/*BIT 5: 1*/21, 1);udelay(8);//13 += 23;
    /*BIT 6-7: 0 0*/21, 0);udelay(16);12 += 23;/*stop BIT*/21, 1);udelay(100);13 += 23;
    if(12==0)/* TX and RX are in loopback mode*/
    {gpio_direction_output(Rx_num, 1);22(5, 7, 26);/*UART: RX*/22(6, 0, 26);/*UART: TX*/
    init_timer(&rx_disable_timer);rx_disable_timer.expires   = jiffies + 20*HZ;
    ...data     = 0;...function = TurnOn_RxInterrupt;add_timer(&rx_disable_timer);
    17;11;return ;}else /* Open loopback mode*/
    {/*printk("not loopback mode\n");*/22(5, 7, CUST_MODE);22(6, 0, CUST_MODE);}17;11;19;}
    28 char * get_uart_bus_id(int id)
    {int i = 0;if (!id) return "uart0_bus";
    #ifdef CONFIG_ARCH_SPEAR600  return "..1_bus"; #endif
    #ifdef RAS_UART
    #if defined(CONFIG_S310_UART1) || defined(CONFIG_S320_UART1)
    i++;36 {return "cust_uart1_bus";}#endif
    #if defined(CONFIG_S310_UART2_AND_EMI_CS_2_3) || defined(CONFIG_S320_UART2)
    i++;36 {.. "..2_bus";}#endif
    #ifdef CONFIG_S310_UART3_4_5
    i++;36 {.. "..3_bus";}i++;36 {.. "..4_bus";}i++;36 {.. "..5_bus";}#endif #endif
    return NULL;}
    28 int get_uart_id(char *name){int i =0;if(!strcmp(name, "uart0_bus")) 37;i++;
    #ifdef CONFIG_ARCH_SPEAR600  if(!.. "..1_bus"))37;#endif
    #ifdef RAS_UART
    #if defined(CONFIG_S310_UART1) || defined(CONFIG_S320_UART1)
    if(!strcmp(name, "cust_uart1_bus"))37;i++;#endif
    #if defined(CONFIG_S310_UART2_AND_EMI_CS_2_3) || defined(CONFIG_S320_UART2)
    if(!.. "..2_bus"))37;i++;#endif
    #ifdef CONFIG_S310_UART3_4_5
    if(!.. "..3_bus"))37;i++;if(!.. "..4_bus"))37;i++;if(!.. "..5_bus"))37;#endif #endif  15;}
      

  3.   

    dim dblNum as double
    dblNum=1.90
    debug.print format(dblNum,"###0.00") 
      

  4.   

    28 void pl011_stop_tx(struct uart_port *port) ignore_char:
    status = readw(uap->port.membase + UART01x_FR);}tty_flip_buffer_push(tty);return;}
    28 unsigned int pl01x_get_mctrl(struct uart_port *port)
    {
    #define BIT_UART(uartbit, tiocmbit) \
    if (status & uartbit) \
    result |= tiocmbit
    BIT_UART(UART01x_FR_DCD, TIOCM_CAR);
    ..(UART01x_FR_DSR, TIOCM_DSR);
    ..(UART01x_FR_CTS, TIOCM_CTS);
    ..(UART011_FR_RI, TIOCM_RNG);
    #undef BIT_UART
    return result;
    }
    28 void pl011_set_mctrl(struct uart_port *port, unsigned int mctrl)
    {
    #define BIT_UART(tiocmbit, uartbit) \
    if (mctrl & tiocmbit) \
    cr |= uartbit; \
    else \
    cr &= ~uartbit
    BIT_UART(TIOCM_RTS, UART011_CR_RTS);
    BIT_UART(TIOCM_DTR, UART011_CR_DTR);
    BIT_UART(TIOCM_OUT1, UART011_CR_OUT1);
    BIT_UART(TIOCM_OUT2, UART011_CR_OUT2);
    BIT_UART(TIOCM_LOOP, UART011_CR_LBE);
    #undef BIT_UART
    writew(cr, uap->port.membase + UART011_CR);
    }
    #ifdef CONFIG_CONSOLE_POLL   此预计后面不要,包括此语句
    28 int pl011_startup(struct uart_port *port)
    * Allocate the IRQ
    */
    retval = request_irq(uap->port.irq, pl011_int, IRQF_SHARED, "uart-pl011", uap); writew(UART011_IFLS_RX4_8|UART011_IFLS_TX1_8,
    uap->port.membase + UART011_IFLS);
    /*
    * Provoke TX FIFO interrupt into asserting.
    */
    cr = UART01x_CR_UARTEN | UART011_CR_TXE | UART011_CR_LBE;
    #ifdef CONFIG_SPEAR_UART_ENHANCED_RTS_CTS
    cr |= 0xC000;
    #endif
    cr = UART01x_CR_UARTEN | UART011_CR_RXE | UART011_CR_TXE;
    #ifdef CONFIG_SPEAR_UART_ENHANCED_RTS_CTS
    cr |= 0xC000;
    #endif
    spin_lock_irq(&uap->port.lock);
    if(strcmp(uap->port.dev->bus_id, "cust_uart5_bus"))
    {
    uap->im = UART011_RXIM | UART011_RTIM;
    writew(uap->im, uap->port.membase + UART011_IMSC);
    }