triton_zhang

个性签名:若惕

    1. 请教一下A7105的知识 5/3637 微控制器 MCU 2013-06-08
      这几个问题都是和A7105相关的,具体不太清楚。最一个问题关于RF通信的冲突,一般的transceiver芯片都会有防冲突功能,Slave在发射前会先进行载波侦听,如果这个时候存在在载波,也就说明其他slave正在通信,本slave会暂停发射。
    2. 确保你的ADC代码是否正确,ADI的输入管脚和数字管脚是复用的,默认是GPIO口. 清参考如下例程代码: //***************************************************************************** // // Configure ADC0 for a single-ended input and a single sample.  Once the // sample is ready, an interrupt flag will be set.  Using a polling method, // the data will be read then displayed on the console via UART0. // //***************************************************************************** int main(void) {     //     // This array is used for storing the data read from the ADC FIFO. It     // must be as large as the FIFO for the sequencer in use.  This example     // uses sequence 3 which has a FIFO depth of 1.  If another sequence     // was used with a deeper FIFO, then the array size must be changed.     //     uint32_t pui32ADC0Value[1];     //     // Set the clocking to run at 20 MHz (200 MHz / 10) using the PLL.  When     // using the ADC, you must either use the PLL or supply a 16 MHz clock     // source.     // TODO: The SYSCTL_XTAL_ value must be changed to match the value of the     // crystal on your board.     //     SysCtlClockSet(SYSCTL_SYSDIV_10 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |                    SYSCTL_XTAL_16MHZ);     //     // Set up the serial console to use for displaying messages.  This is     // just for this example program and is not needed for ADC operation.     //     InitConsole();     //     // Display the setup on the console.     //     UARTprintf("ADC ->\n");     UARTprintf("  Type: Single Ended\n");     UARTprintf("  Samples: One\n");     UARTprintf("  Update Rate: 250ms\n");     UARTprintf("  Input Pin: AIN0/PE7\n\n");     //     // The ADC0 peripheral must be enabled for use.     //     SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);     //     // For this example ADC0 is used with AIN0 on port E7.     // The actual port and pins used may be different on your part, consult     // the data sheet for more information.  GPIO port E needs to be enabled     // so these pins can be used.     // TODO: change this to whichever GPIO port you are using.     //     SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);     //     // Select the analog ADC function for these pins.     // Consult the data sheet to see which functions are allocated per pin.     // TODO: change this to select the port/pin you are using.     //     GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_7);     //     // Enable sample sequence 3 with a processor signal trigger.  Sequence 3     // will do a single sample when the processor sends a signal to start the     // conversion.  Each ADC module has 4 programmable sequences, sequence 0     // to sequence 3.  This example is arbitrarily using sequence 3.     //     ADCSequenceConfigure(ADC0_BASE, 3, ADC_TRIGGER_PROCESSOR, 0);     //     // Configure step 0 on sequence 3.  Sample channel 0 (ADC_CTL_CH0) in     // single-ended mode (default) and configure the interrupt flag     // (ADC_CTL_IE) to be set when the sample is done.  Tell the ADC logic     // that this is the last conversion on sequence 3 (ADC_CTL_END).  Sequence     // 3 has only one programmable step.  Sequence 1 and 2 have 4 steps, and     // sequence 0 has 8 programmable steps.  Since we are only doing a single     // conversion using sequence 3 we will only configure step 0.  For more     // information on the ADC sequences and steps, reference the datasheet.     //     ADCSequenceStepConfigure(ADC0_BASE, 3, 0, ADC_CTL_CH0 | ADC_CTL_IE |                              ADC_CTL_END);     //     // Since sample sequence 3 is now configured, it must be enabled.     //     ADCSequenceEnable(ADC0_BASE, 3);     //     // Clear the interrupt status flag.  This is done to make sure the     // interrupt flag is cleared before we sample.     //     ADCIntClear(ADC0_BASE, 3);     //     // Sample AIN0 forever.  Display the value on the console.     //     while(1)     {         //         // Trigger the ADC conversion.         //         ADCProcessorTrigger(ADC0_BASE, 3);         //         // Wait for conversion to be completed.         //         while(!ADCIntStatus(ADC0_BASE, 3, false))         {         }         //         // Clear the ADC interrupt flag.         //         ADCIntClear(ADC0_BASE, 3);         //         // Read ADC Value.         //         ADCSequenceDataGet(ADC0_BASE, 3, pui32ADC0Value);         //         // Display the AIN0 (PE7) digital value on the console.         //         UARTprintf("AIN0 = %4d\r", pui32ADC0Value[0]);         //         // This function provides a means of generating a constant length         // delay.  The function delay (in cycles) = 3 * parameter.  Delay         // 250ms arbitrarily.         //         SysCtlDelay(SysCtlClockGet() / 12);     } }

最近访客

< 1/1 >

统计信息

已有60人来访过

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

留言

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


现在还没有留言