lehuijie

  • 2019-07-03
  • 回复了主题帖: 物联网接入终端

    之前源码传错了,现在重新放上

  • 2019-06-30
  • 发表了主题帖: GD32e231的ADC采集

    void adc_config(void) { /* ADC contineous function enable */ adc_special_function_config(ADC_CONTINUOUS_MODE, ENABLE); /* ADC trigger config */ adc_external_trigger_source_config(ADC_REGULAR_CHANNEL, ADC_EXTTRIG_REGULAR_NONE); /* ADC data alignment config */ adc_data_alignment_config(ADC_DATAALIGN_RIGHT); /* ADC channel length config */ adc_channel_length_config(ADC_REGULAR_CHANNEL, 1U); /* ADC regular channel config */ adc_regular_channel_config(0U, BOARD_ADC_CHANNEL, ADC_SAMPLETIME_55POINT5); adc_external_trigger_config(ADC_REGULAR_CHANNEL, ENABLE); /* enable ADC interface */ adc_enable(); delay_1ms(1U); /* ADC calibration and reset calibration */ adc_calibration_enable(); /* ADC DMA function enable */ adc_dma_mode_enable(); /* ADC software trigger enable */ adc_software_trigger_enable(ADC_REGULAR_CHANNEL); } GD的ADC配置 void dma_config(void) { /* ADC_DMA_channel configuration */ dma_parameter_struct dma_data_parameter; /* ADC DMA_channel configuration */ dma_deinit(DMA_CH0); /* initialize DMA single data mode */ dma_data_parameter.periph_addr = (uint32_t)(&ADC_RDATA); dma_data_parameter.periph_inc = DMA_PERIPH_INCREASE_DISABLE; dma_data_parameter.memory_addr = (uint32_t)(&adc_value); dma_data_parameter.memory_inc = DMA_MEMORY_INCREASE_DISABLE; dma_data_parameter.periph_width = DMA_PERIPHERAL_WIDTH_16BIT; dma_data_parameter.memory_width = DMA_MEMORY_WIDTH_16BIT; dma_data_parameter.direction = DMA_PERIPHERAL_TO_MEMORY; dma_data_parameter.number = 1U; dma_data_parameter.priority = DMA_PRIORITY_HIGH; dma_init(DMA_CH0, &dma_data_parameter); dma_circulation_enable(DMA_CH0); /* enable DMA channel */ dma_channel_enable(DMA_CH0); } ADC采集走DMA通道0 注意uint16_t adc_value;需要定义。 if(adc_value>10)             {                 gpio_bit_set(GPIOA,GPIO_PIN_8);             }             else {                 gpio_bit_reset(GPIOA,GPIO_PIN_8);             }   判断ADC的数值,大于100就点亮LED,否则就灭。  

  • 2019-06-25
  • 回复了主题帖: 物联网接入终端

    lightxixi 发表于 2019-6-24 15:42 楼主果然出现了* _ *

  • 2019-06-23
  • 回复了主题帖: 送分喽!大家说说备战电赛到现在都怎么样了,有何感想。

    对于想获奖的,再开始之前需要先了解题目,把到时评比时所要测试的点搞清楚。搞错了目的对于大赛很致命。另外选题之前最好先了解到时测试所用的仪器。

  • 发表了主题帖: 物联网接入终端

    作品简介 作品通过ADC采集电压,经过4G模块传输到云服务器上。协议采用TCP透传的方式,数据保留在云平台中。   系统框图     ADC采集 ADC采集DMA传输, PA2口,在把传输中添加标识,一起传输到平台上。ADC传输速度,采取1s传输一次,或者10s传输一次,可以通过mode调整。 void dma_config(void) {     /* ADC_DMA_channel configuration */     dma_parameter_struct dma_data_parameter;         /* ADC DMA_channel configuration */     dma_deinit(DMA_CH0);         /* initialize DMA single data mode */     dma_data_parameter.periph_addr  = (uint32_t)(&ADC_RDATA);     dma_data_parameter.periph_inc   = DMA_PERIPH_INCREASE_DISABLE;     dma_data_parameter.memory_addr  = (uint32_t)(&adc_value);     dma_data_parameter.memory_inc   = DMA_MEMORY_INCREASE_DISABLE;     dma_data_parameter.periph_width = DMA_PERIPHERAL_WIDTH_16BIT;     dma_data_parameter.memory_width = DMA_MEMORY_WIDTH_16BIT;      dma_data_parameter.direction    = DMA_PERIPHERAL_TO_MEMORY;     dma_data_parameter.number       = 1U;     dma_data_parameter.priority     = DMA_PRIORITY_HIGH;     dma_init(DMA_CH0, &dma_data_parameter);     dma_circulation_enable(DMA_CH0);       /* enable DMA channel */     dma_channel_enable(DMA_CH0); } void adc_config(void) {     /* ADC contineous function enable */     adc_special_function_config(ADC_CONTINUOUS_MODE, ENABLE);     /* ADC trigger config */     adc_external_trigger_source_config(ADC_REGULAR_CHANNEL, ADC_EXTTRIG_REGULAR_NONE);     /* ADC data alignment config */     adc_data_alignment_config(ADC_DATAALIGN_RIGHT);     /* ADC channel length config */     adc_channel_length_config(ADC_REGULAR_CHANNEL, 1U);       /* ADC regular channel config */     adc_regular_channel_config(0U, BOARD_ADC_CHANNEL, ADC_SAMPLETIME_55POINT5);     adc_external_trigger_config(ADC_REGULAR_CHANNEL, ENABLE);     /* enable ADC interface */     adc_enable();     delay_1ms(1U);     /* ADC calibration and reset calibration */     adc_calibration_enable();     /* ADC DMA function enable */     adc_dma_mode_enable();     /* ADC software trigger enable */     adc_software_trigger_enable(ADC_REGULAR_CHANNEL); }   UART传输 Uart发送采用重定向printf()发送串口数据。接收使用串口中断实时处理数据。 void com_usart_init(void) {     /* enable USART clock */     rcu_periph_clock_enable(RCU_USART0);     /* USART configure */     usart_deinit(USART0);     usart_word_length_set(USART0, USART_WL_8BIT);     usart_stop_bit_set(USART0, USART_STB_1BIT);     usart_parity_config(USART0, USART_PM_NONE);     usart_baudrate_set(USART0, 115200U);     usart_receive_config(USART0, USART_RECEIVE_ENABLE);     usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);     usart_enable(USART0);         /* enable USART TBE interrupt */      //usart_interrupt_enable(USART0, USART_INT_TBE);         /* enable USART RBNE interrupt */     usart_interrupt_enable(USART0, USART_INT_RBNE);         /* USART interrupt configuration */     nvic_irq_enable(USART0_IRQn, 0); }   4G模组 模组采用AT进行控制,主要功能为串口透传,把采集到的ADC数据传输到服务器上。还可以通过短信改变ADC采集的模式,由于所用的为物联网卡具体没实现。 void OneNet_link() {               printf("AT+CIPMUX=0\r\n");               delay_1ms(1000); //           printf("AT+CIPQSEND=0\r\n");               delay_1ms(1000);               printf("AT+CSTT=\"CMNET\"\r\n");               delay_1ms(1000);               printf("AT+CIICR\r\n");               delay_1ms(1000);               printf("AT+CIFSR\r\n");               delay_1ms(1000);               printf("AT+CIPSTATUS\r\n");               delay_1ms(1000);               printf("AT+CIPSTART=\"TCP\",\"183.230.40.40\",\"1811\"\r\n");               delay_1ms(1000);               printf("AT+CIPSTATUS\r\n");               delay_1ms(2000);               printf("AT+CIPSEND=20\r*229939#123456#test*\r\n"); }   实物图     Onenet的数据存储图   实物图 结语 这个板子到手看的挺漂亮的,对比ST的板子手感要好。要是几个直插元件全弄成贴片手感会更好。   固件库会比ST的HAL库更简单使用一些,固件库有几处例子有些错误。总体与ST早期的固件库较像,熟悉ST的比较容易转换到GD过来。不过e231缺少了usb,还有虚拟串口也没有,这个有点遗憾。   刚毕业,很多仪器都没的用了,具体性能无法进行测试,新单片机新特性没尝试。   视频: http://training.eeworld.com.cn/video/20785 http://training.eeworld.com.cn/video/20786   不知道要怎么写,有问题大家就问。到时有记起来要写再慢慢写贴吧。   附件包含源码,以及4g模块的使用手册,和GD32手册。       补充内容 (2019-7-3 21:57): 突然发现附件里面代码竟然没传上去,现在上传放在楼下

  • 2019-06-20
  • 回复了主题帖: 【颁奖】助力电赛,抢楼有礼

    信息确认

  • 2019-06-07
  • 回复了主题帖: TouchGFX设计 之打地鼠

    okhxyyo 发表于 2019-4-27 10:13 小孩子接受度很高的。有一本书叫澡堂里的仙女,老仙女我看了第一眼就觉得害怕这书却很受小孩欢迎
    老仙女这个词我能笑伙吗

  • 加入了学习《MSP430 FR4X/2X系列培训》,观看 MSP430FR4x/2xMCU技术培训:概述(上)

  • 回复了主题帖: 助力电赛,抢楼有礼啦~~

    凑个热闹

  • 2019-06-04
  • 回复了主题帖: 以太网数据包长度超过1500字节,需要人工分包吗

    协议栈已经帮你做了,人工分包这种骚操作也想的出来

  • 2019-05-24
  • 回复了主题帖: 颁奖:恩智浦跨界处理器能玩出多少应用

    信息确认

  • 2019-05-09
  • 回复了主题帖: 颁奖:恩智浦跨界处理器能玩出多少应用

    有人要换书吗?这有《电机和电源控制中的最新微控制器技术》换取《微控制器USB的信号和协议实现》

  • 2019-05-07
  • 回复了主题帖: EEWorld招贤纳士!福州地区(在家办公)/北京(繁华商圈办公)

    okhxyyo 发表于 2019-5-7 15:16 在一个地方呆久了就会麻木的。我觉得厦门还是不错的。我刚从厦门回福州那段时间很不习惯,因为福州这边的 ...
    在福州这,我都养成了过马路不管是不是斑马线红绿灯都要两边看,有车经过一定要等车先过{:1_85:}

  • 回复了主题帖: 说说无人机的未来应用,说出就送分

    巡航,加个变焦摄像头就可以从老远地方观察

  • 2019-04-25
  • 回复了主题帖: 进帖说说看电机控制学习上重难点在哪【回帖领芯】

    不清楚,没玩过{:1_101:}

  • 2019-04-22
  • 加入了学习《TI 高精度实验室 – 数据转换器介绍》,观看 数据转换器介绍 - 直流参数

  • 加入了学习《TI 高精度实验室 – 数据转换器介绍》,观看 数据转换器介绍 - SAR 型 ADC 输入类型

  • 加入了学习《TI 高精度实验室 – 数据转换器介绍》,观看 数据转换器介绍 - 交流和直流参数

  • 回复了主题帖: 你也会这样设计脉冲负载的电源吗?有问题的网友进鸭~

    appleliu88 发表于 2019-4-17 19:50 电容器提供能量时,电容上的电压会变化吗?
    这种肯定会的呀

  • 2019-04-20
  • 回复了主题帖: 回帖给分:5G来了,你会换5G手机吗?

    如果到时我存的E金币能买得起的话就换:hug:

统计信息

已有110人来访过

  • 芯币:1493
  • 好友:3
  • 主题:42
  • 回复:297
  • 课时:--
  • 资源:8

留言

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


风澜尘 2019-6-4
有没有The Art of Electronics 第三版的中文版呢?我在下载中心没有找到
lehuijie 2019-1-22
下载中心有
qq510371801 2019-1-22
The Art of Electronics   我想要中文版,谢谢
littleshrimp 2018-1-23
lehuijie: STEVAL-IDB007V1用mdk生成的hex文件用什么烧录,dk好像不行,写入后没变化
直接用MDK下载到单片机里不运行吗?
可以用这个软件试试 BlueNRG-1_Flasher_GUI.exe
lehuijie 2017-12-20
你的分享挺好
lehuijie 2017-12-20
谢谢了
高进 2017-12-20
lehuijie: 那个《linux就该这么学》打不开
链接已修复,亲测能用了。多谢告知!!
高进 2017-12-20
lehuijie: 那个《linux就该这么学》打不开
我去看看。
查看全部