zhaoyuyhq

    1. 系统时钟问题 4/1709 stm32/stm8 2015-07-23
      好好看看程序的初始化过程,你能找到系统时钟的初始化过程
    2. 你说的对,没有通路,电流自然不存在
    3. 你这个采用UART接收到数据之后,可以加入DMA,一个回合后,你从DMA里面把数据读出来分析就行了, 你看看我这里有一个UART和DMA初始化的部分代码,希望对你有启示                      USART_InitTypeDef USART_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 USART2 */           USART_Init(USART2, &USART_InitStructure);           /* Enable USART2 Receive and Transmit interrupts */           //USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);           /* Enable the USART2 USART1*/                 USART_Cmd(USART2, ENABLE); ////////以上是UART的初始化      以下是DMA的         pATFifo = dmafifo_init();                                _fifobuffer = pATFifo;         DMA_DeInit(DMA1_Channel6);           DMA_InitStructure.DMA_PeripheralBaseAddr = (u32)&USART2->DR;                  DMA_InitStructure.DMA_MemoryBaseAddr = (u32)_fifobuffer->data;            DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;            DMA_InitStructure.DMA_BufferSize = FIFOBUF_LEN;                                                        DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;           DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;                                  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;           DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;                   DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;                                                 DMA_InitStructure.DMA_Priority = DMA_Priority_Low;           DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;            DMA_Init(DMA1_Channel6, &DMA_InitStructure);         USART_DMACmd(USART2, USART_DMAReq_Rx, ENABLE);         USART_Cmd(USART2,ENABLE);         DMA_Cmd(DMA1_Channel6, ENABLE);
    4. 如果串口的波特率是9600bit/1S位的话,每一位的时间就是1/9600秒。不过,盯着算这个,对开发程序好处不大
    5. 多长时间的高电平算一位高电平 这个是单片机的UART自已来分辨的,你只需要从UART的寄存器中读就OK
    6. 得到的数据与十六进制 2、4、8 等相与,不就知道了,相与结果不为0,那相应位就为1了
    7. :Mad: :Mad: :Mad:
    8. :) :call: :funk:
    9. :) :)

最近访客

< 1/1 >

统计信息

已有64人来访过

  • 芯积分:2
  • 好友:5
  • 主题:2
  • 回复:9

留言

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


现在还没有留言