LED 5 Blinking continuously and the i cannot see the board anymore in nrfconnect in vscode

Hi ,

I am using the NRF5340DK board and i just plugged the board into my computer and the led 5 on the board is blinking fast and continuously and i cannot see the board anymore in the VSCODE. I have tried changing 3 cables and yes they are data cables not power cables but still does not work , any solutions to this problem ? 

Parents Reply Children
  • I have tried that , the board is not visible in nrfconnect desktop app. The program that i last flashed was the modified adc driver example found in ncs\v2.2.0\zephyr\samples\drivers\adc : 

    /*
     * Copyright (c) 2020 Libre Solar Technologies GmbH
     *
     * SPDX-License-Identifier: Apache-2.0
     */
    
    #include <inttypes.h>
    #include <stddef.h>
    #include <stdint.h>
    
    #include <zephyr/device.h>
    #include <zephyr/devicetree.h>
    #include <zephyr/drivers/adc.h>
    #include <zephyr/kernel.h>
    #include <zephyr/sys/printk.h>
    #include <zephyr/sys/util.h>
    #include <zephyr/drivers/gpio.h>
    #define LED_PIN 15 //LED at Pin 1.15
    
    //-------------Check if overlay file exists----------------
    #if !DT_NODE_EXISTS(DT_PATH(zephyr_user)) || \
    	!DT_NODE_HAS_PROP(DT_PATH(zephyr_user), io_channels)
    #error "No suitable devicetree overlay specified"
    #endif
    
    //-------------ADC Channels Setup--------------------------
    #define DT_SPEC_AND_COMMA(node_id, prop, idx) \
    	ADC_DT_SPEC_GET_BY_IDX(node_id, idx),
    
    /* Data of ADC io-channels specified in devicetree. */
    static const struct adc_dt_spec adc_channels[] = {
    	DT_FOREACH_PROP_ELEM(DT_PATH(zephyr_user), io_channels,
    			     DT_SPEC_AND_COMMA)
    };
    
    //-----------GPIO PORT 1 setup--------------------------
    //mux_gpio_dev = device_get_binding("GPIO_0");
    const struct device *port_1;//This setups up port 1 in datasheet pg 22
    //port_0_pins = DEVICE_DT_GET(DT_NODELABEL(gpio0));
    //int gpio_pin_configure(1, 15, GPIO_OUTPUT);
    
    void main(void)
    {	
    	//-------GPIO Pin 1.15 setup-------------------
    	port_1 = DEVICE_DT_GET(DT_NODELABEL(gpio1));
    	gpio_pin_configure(port_1, LED_PIN , GPIO_OUTPUT);//Configure Pin 1.15
    	gpio_pin_set(port_1, LED_PIN, 0);//Set the led pin low initially 
    
    
    	int err;
    	int16_t buf;
    	struct adc_sequence sequence = {
    		.buffer = &buf,
    		/* buffer size in bytes, not number of samples */
    		.buffer_size = sizeof(buf),
    	};
    
    	/* Configure channels individually prior to sampling. */
    	for (size_t i = 0U; i < ARRAY_SIZE(adc_channels); i++) {
    		if (!device_is_ready(adc_channels[i].dev)) {
    			printk("ADC controller device not ready\n");
    			return;
    		}
    
    		err = adc_channel_setup_dt(&adc_channels[i]);
    		if (err < 0) {
    			printk("Could not setup channel #%d (%d)\n", i, err);
    			return;
    		}
    	}
    
    	while (1) {
    		printk("\n ADC reading:");
    		for (size_t i = 0U; i < ARRAY_SIZE(adc_channels); i++) {
    			int32_t val_mv;
    
    			printk("\n channel %d: ",
    			       //adc_channels[i].dev->name,
    			       adc_channels[i].channel_id);
    
    			(void)adc_sequence_init_dt(&adc_channels[i], &sequence);
    
    			err = adc_read(adc_channels[i].dev, &sequence);
    			//if (err < 0) {
    			//	printk("Could not read (%d)\n", err);
    			//	continue;
    			//} else {
    			//	printk("%"PRId16, buf);
    			//}
    	
    		
    			/* conversion to mV may not be supported, skip if not */
    			//val_mv = buf;
    			//err = adc_raw_to_millivolts_dt(&adc_channels[i],
    			//			       &val_mv);
    			//if (err < 0) {
    			//	printk(" (value in mV not available)\n");
    			//} else {
    			//	printk(" = %"PRId32" mV\n", val_mv);
    			//} 
    			
    		}
    
    		k_sleep(K_MSEC(500));
    	}
    }
    

Related