目怜心

    1. stm8l的Waitmode 5/4557 stm32/stm8 2010-08-18
                                       谢谢大家! 我还有些疑问,就是如果有一个外部事件,或者中断唤醒了CPU,是不是只执行中断程序,或者一唤醒事件,主程序会运行吗?
    2. WIN7下如何控制服务 12/5697 嵌入式系统 2010-06-25
      按照楼上的说法,系统设定了这个安全机制。应用程序就没有办法躲过了,是嘛?只能以管理员权限运行才行了嘛?
    3. 没在ARM7上试过,呵呵,所以,我也不知道答案,顶顶!
    4.                                   串口处理 简单说明 串口1用来显示,无中断,查询发送          串口2中断发送,中断接收 // usart.h #ifndef __USART__H__ #define __USART__H__ #define UART2_RX_QUEUE_SIZE  1024 #define UART2_TX_QUEUE_SIZE  1024 void usart_init(int usart_num); int USART2_SendDataLen( unsigned char *pData,int len); #endif // usart.c #include "global.h" // 串口队列 struct UART_STRUCT {     struct QueueBuffer  *psSend;    //发送队列指针     struct QueueBuffer  *psReci;    //接收队列指针 }; struct UART_STRUCT pUart2;      //定义串口的结构体 //串口接收 #define Uart2_Rx_Push(x)       Queue_Push(pUart2.psReci,x) #define Uart2_Rx_Pop()         Queue_Pop(pUart2.psReci) #define Uart2_Rx_Num()         Queue_Num(pUart2.psReci) #define Uart2_Rx_Full()        Queue_is_full(pUart2.psReci) #define Uart2_Rx_Empty()       Queue_is_empty(pUart2.psReci) #define Uart2_Rx_Clr()         do{Queue_Clear(pUart2.pReci);}while(0) // 串口发送 #define Uart2_Tx_Push(x)       Queue_Push(pUart2.psSend,x) #define Uart2_Tx_Pop()         Queue_Pop(pUart2.psSend) #define Uart2_Tx_Num()         Queue_Num(pUart2.psSend) #define Uart2_Tx_Full()        Queue_is_full(pUart2.psSend) #define Uart2_Tx_Empty()       Queue_is_empty(pUart2.psSend) #define Uart2_Tx_Clr()         do{Queue_Clear(pUart2.psend);}while(0) /******************************************************************************* * Function Name  : usart_init() * Description    : This routine is called to set the configuration value *                  Then each class should configure device themself. * Input          : None. * Output         : None. * Return         : Return USB_SUCCESS, if the request is performed. *                  Return USB_UNSUPPORT, if the request is invalid. *******************************************************************************/ void usart_init(int usart_num) {     GPIO_InitTypeDef GPIO_InitStructure;     USART_InitTypeDef USART_InitStructure;         if(USE_USART1 == usart_num)     {         // 配置时钟         /* Enable GPIOx clock */         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);         /* Enable USARTx clocks */         RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);               // 配置IO         /* Configure USARTx_Tx as alternate function push-pull */         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;         GPIO_Init(GPIOA, &GPIO_InitStructure);         /* Configure USARTx_Rx as input floating */         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;         GPIO_Init(GPIOA, &GPIO_InitStructure);                               USART_InitStructure.USART_BaudRate = 115200;         USART_InitStructure.USART_WordLength = USART_WordLength_8b;         USART_InitStructure.USART_StopBits = USART_StopBits_1;         USART_InitStructure.USART_Parity = USART_Parity_No ;         USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;         USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;         /* Configure the USARTx */         USART_Init(USART1, &USART_InitStructure);         /* Enable USART2 Receive interrupts */       //  USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);                 /* Enable the USARTx */         USART_Cmd(USART1, ENABLE);                   }     else if(USE_USART2 == usart_num)     {         /* Enable GPIOx clock */         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);         /* Enable USARTx clocks */         RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);               /* Configure USARTx_Tx as alternate function push-pull */         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;         GPIO_Init(GPIOA, &GPIO_InitStructure);         /* Configure USARTx_Rx as input floating */         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;         GPIO_Init(GPIOA, &GPIO_InitStructure);         USART_InitStructure.USART_BaudRate = 115200;         USART_InitStructure.USART_WordLength = USART_WordLength_8b;         USART_InitStructure.USART_StopBits = USART_StopBits_1;         USART_InitStructure.USART_Parity = USART_Parity_No ;         USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;         USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;         /* Configure the USARTx */         USART_Init(USART2, &USART_InitStructure);            pUart2.psSend=Queue_Register(UART2_TX_QUEUE_SIZE);         pUart2.psReci=Queue_Register(UART2_RX_QUEUE_SIZE);               /* Enable USART2 Receive interrupts */         USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);         USART_ITConfig(USART2, USART_IT_TXE, ENABLE);                  /* Enable the USARTx */         USART_Cmd(USART2, ENABLE);                                            }          } // return 返回可发送字节数 int USART2_SendDataLen( unsigned char *pData,int len) {     int i;     unsigned char *p;     p = pData;     for(i = 0; i < len; i++)     {         if(!Uart2_Tx_Full())         {             Uart2_Tx_Push(*p++);         }         else         {             break;         }              }     USART_ITConfig(USART2, USART_IT_TXE, ENABLE);//只要发送寄存器为空,就会一直有中断,因此,要是不发送数据时,把发送中断关闭,只在开始发送时,才打开     return (i + 1);    }    void USART2_IRQHandler(void) {        if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)     {         /* Read one byte from the receive data register */            Uart2_Rx_Push(USART_ReceiveData(USART2));             }      //发送中断     if( USART_GetITStatus(USART2, USART_IT_TXE) == SET  )     {            if(!Uart2_Tx_Empty())         {             USART_SendData(USART2, Uart2_Tx_Pop());         }         else         {             USART_ITConfig(USART2, USART_IT_TXE, DISABLE);         }                 }          }
    5. 引用 11 楼 jbb0523 的回复: 呵呵,同志,帮你顶帖不算贡献么?怎么还会“晕”呢? 引用 7 楼 alex_yung 的回复: 引用 6 楼 jbb0523 的回复: 其实对于技术我不懂,只是看到标题中的保定二字进来看看的,呵呵。。。 晕…… 又一个打酱油的
      谢谢哈   大哥   以后你问问题我也去给你顶……
    6. 我安装VS2005时,WIN7默认的LICENSE授权名是q,被告我改成了其他名字,这有没有影响呀?
    7. WinCE思路,求助 14/3928 WindowsCE 2010-05-14
      我觉得你应该先把你们之间通讯的接口搞清楚,才知道下一步的工作。一定要知道整个系统的原理!
    8. 再请教,定时器中断标志清除的问题 14/12033 stm32/stm8 2010-05-13
                                       这里 #define Clear_timer2_it     TIM2_SR &= ~(uint16)(1<<0)
    9. 波特率的计算 18/6148 嵌入式系统 2010-05-05
      这种公司看下具体那款单片机的datasheet就ok了
    10. windows7下怎么装不了ce6.0的update? 11/6298 嵌入式系统 2010-04-28
      win7下,我连 Windows Embedded CE 6.0 Platform Builder 都没安装成功 最后只好用虚拟机...
    11. 恩恩,好的,我试试。谢谢kyzf!
    12. 高手请跟贴。
    13. STM32加奇偶校验的问题 25/15307 stm32/stm8 2010-01-15
                                       即使编译器有BUG,也不可能2次对同样的程序编译产生不同的结果。
    14. 在OMAP3530上用libusb座USB程序的问题 3/3317 嵌入式系统 2009-12-14
      引用楼主 xiajia 的回复: 下载libusb-0.1.12的代码, 首先在pc上编译libusb,然后编译自己的代码,运行,一切正常,没有异常。 然后交叉编译,完成之后在交叉编译自己的程序,将编译后的库和可执行文件放到OMAP3530上面 运行提示错误:error submitting URB: No such file or directory 不知道大家是否遇到同样的问题,该如何解决呢?
      没有用过,帮顶
    15. 串口通信相关 12/4567 嵌入式系统 2009-11-25
      1、串口收发是分开的,可以全双工,收发互不影响; 2、收发信号线功能固定,不能改变; 3、启动串口收发操作前,一般还需要设置串口参数,打开串口的操作,不能上来就调用收发功能。
    16. ERROR: Power Handler function yield to low pri... 15/10992 嵌入式系统 2009-11-07
      不能唤醒应该不是因为ERROR: Power Handler function yield to low priority thread. 我们的机器关机的时候也有这条信息,但是可以唤醒,楼上几位的说法我去查下,似乎powerdown函数里边是有些东西
    17. 注册表设置呢?
    18. 参加上海09ST巡回演讲回来 21/6113 stm32/stm8 2009-09-16
                                       香版 我当时还不完全确定是你 原来还真是!顶! 本想等TCP时好好听下 ADC时先偷偷睡觉一会(adc 目前工作及项目基本不会使用到) 听你讲的很精彩 就没睡意 认真听讲了。哈哈
    19. 谁有USB2.0协议的中文版? 6/3652 嵌入式系统 2009-09-13
      http://download.eeworld.net/source/1640908  USB2.0 原理 与 工程 开发 http://download.eeworld.net/source/1552798  USB大全 这两本书,中文的,介绍USB的,还不错。
    20. 求助:MAX712快速充电以及电流设定 10/5741 嵌入式系统 2009-07-31
      引用 4 楼 congyue123 的回复: 对于充电IC的话,是有一个反馈端的,一般都是FB这个pin,调节这个pin的分压网络,就能调节充电电流了。楼主可以尝试改变这个分压网络,再看看现象。
      这个反馈我是知道的,现在的问题是,通过公式计算的反馈电阻阻值在接入电路以后,和设想中的充电电流相差太远

最近访客

< 1/1 >

统计信息

已有84人来访过

  • 芯积分:--
  • 好友:--
  • 主题:10
  • 回复:57

留言

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


现在还没有留言