查看: 2038|回复: 0

8 bits ADC 改为 16 bit 并发送到MCP

[复制链接]

该用户从未签到

发表于 2016-3-29 09:41:20 | 显示全部楼层 |阅读模式
分享到:
请问 怎么把下面这个代码的8 bit ADC值改成 16 bit 再发送到 手机的 Master Control panel (MCP) 上? 我如果只更改 uint8_t adc_result 改为 uint_16 adc_result. 就会出现很多错误信息。
  1. /* Interrupt handler for ADC data ready event */
  2. void ADC_IRQHandler(void)
  3. {
  4.         uint8_t adc_result;
  5.        
  6.         /* Clear dataready event */
  7.   NRF_ADC->EVENTS_END = 0;       

  8.   /* Write ADC result both to the UART and over BLE */
  9.         adc_result = NRF_ADC->RESULT;
  10.         app_uart_put(adc_result);
  11.         ble_nus_send_string(&m_nus, &adc_result, 1);
  12.         nrf_gpio_pin_toggle(LED_3);        //indicate on LED that the ADC interrupt handler is executing
  13.        
  14.         //Use the STOP task to save current. Workaround for PAN_028 rev1.5 anomaly 1.
  15.   NRF_ADC->TASKS_STOP = 1;
  16.        
  17.         //Release the external crystal
  18.         sd_clock_hfclk_release();
  19. }       
复制代码

这是 "ble_nus_send_string()" 的指令:
  1. uint32_t ble_nus_send_string(ble_nus_t * p_nus, uint8_t * string, uint16_t length)
  2. {
  3.     ble_gatts_hvx_params_t hvx_params;

  4.     if (p_nus == NULL)
  5.     {
  6.         return NRF_ERROR_NULL;
  7.     }
  8.    
  9.     if ((p_nus->conn_handle == BLE_CONN_HANDLE_INVALID) || (!p_nus->is_notification_enabled))
  10.     {
  11.         return NRF_ERROR_INVALID_STATE;
  12.     }
  13.    
  14.     if (length > BLE_NUS_MAX_DATA_LEN)
  15.     {
  16.         return NRF_ERROR_INVALID_PARAM;
  17.     }
  18.    
  19.     memset(&hvx_params, 0, sizeof(hvx_params));

  20.     hvx_params.handle = p_nus->rx_handles.value_handle;
  21.     hvx_params.p_data = string;
  22.     hvx_params.p_len  = &length;
  23.     hvx_params.type   = BLE_GATT_HVX_NOTIFICATION;
  24.    
  25.     return sd_ble_gatts_hvx(p_nus->conn_handle, &hvx_params);
  26. }
复制代码
这里是 github 上的代码。

https://github.com/faweiz/nrf51-ADC-examples/blob/master/adc_example_with_softdevice_and_UART/adc_example_with_softdevice_and_UART/main.c



请大家指教。谢谢!



回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

手机版|小黑屋|与非网

GMT+8, 2024-11-21 01:44 , Processed in 0.107166 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.