Advertisement
Guest User

Untitled

a guest
May 15th, 2012
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.49 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <string.h>
  3. #include <stdio.h>
  4.  
  5. #include "libmaple.h"
  6. #include "boards.h"
  7. #include "gpio.h"
  8. #include "delay.h"
  9. #include "usart.h"
  10. #include "dma.h"
  11.  
  12. #define LEV_SENSE_I2C_ADDR  0x55
  13. #define TEMP_SENSE_I2C_ADDR 0x48
  14.  
  15. #define STR_SIZE 11
  16. uint8 tx_buf[STR_SIZE];
  17.  
  18. // Force init to be called *first*, i.e. before static object allocation.
  19. // Otherwise, statically allocated objects that need libmaple may fail.
  20. __attribute__((constructor)) void premain() {
  21.     init();
  22. }
  23.  
  24. static void dma_handler()
  25. {
  26.     dma_disable(DMA1, DMA_CH4);
  27. }
  28.  
  29. int main(void)
  30. {
  31.     gpio_set_mode(GPIOB, 3, GPIO_OUTPUT_PP);
  32.     gpio_set_mode(GPIOA, 9, GPIO_AF_OUTPUT_PP);
  33.     gpio_set_mode(GPIOA, 10, GPIO_INPUT_FLOATING);
  34.    
  35.     usart_init(USART1);
  36.     usart_set_baud_rate(USART1, PCLK2, 115200);
  37.     usart_enable(USART1);
  38.     USART1->regs->CR3 |= USART_CR3_DMAT;
  39.  
  40.     snprintf(tx_buf, STR_SIZE-1, "test dma\r\n");
  41.    
  42.     dma_init(DMA1);
  43.     dma_mode_flags fl = (DMA_FROM_MEM | DMA_MINC_MODE | DMA_TRNS_CMPLT);
  44.     dma_setup_transfer(DMA1, DMA_CH4, &(USART1->regs->DR), DMA_SIZE_8BITS, tx_buf, DMA_SIZE_8BITS, fl);
  45.     dma_set_num_transfers(DMA1, DMA_CH4, STR_SIZE);
  46.     dma_attach_interrupt(DMA1, DMA_CH4, dma_handler);
  47.     dma_enable(DMA1, DMA_CH4);
  48.    
  49.     uint8 toggle = 0;
  50.     while(1) {
  51.         if (toggle == 0)
  52.             toggle = 1;
  53.         else
  54.             toggle = 0;
  55.         gpio_write_bit(GPIOB, 3, toggle);
  56.         delay_s(1);
  57.     }
  58.  
  59.     return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement