在线时间795 小时
UID3067179
注册时间2014-10-23
NXP金币1047
TA的每日心情 | 开心 2024-4-10 10:22 |
---|
签到天数: 1317 天 [LV.10]以坛为家III
版主
- 积分
- 7570
- 最后登录
- 2024-4-10
|
采集开发板上VR1电位器的电压,通过串口和CAN通信将数据送出。
一、硬件电路
电位器调整的电压送入P0.25端口。
二、程序部分
2.1、main.c
-
- #include "Blinky.h"
- int main (void)
- {
- INT32U i;
- INT8U j=0;
- uint32_t ADC_Data;
- uint32_t temp=0;
- volatile uint32_t ADC_Buf = 0;
-
-
- SystemInit();
- init_uart0();
- ADC_Init();
-
- CAN_setup (CAN1);
- CAN_setup (CAN2);
- CAN_start (CAN1);
- //CAN_start (CAN2);
- CAN_waitReady (CAN1);
- //CAN_waitReady (CAN2);
- CAN_TxMsg[CAN1].id = 22;
- for (i = 0; i < 8; i++) CAN_TxMsg[CAN1].data[i] = 0;
- CAN_TxMsg[CAN1].len = 2;
- CAN_TxMsg[CAN1].format = STANDARD_FORMAT;
- CAN_TxMsg[CAN1].type = DATA_FRAME;
- //CAN_TxMsg[1].data[0] = 0;
-
- while(1)
- {
-
- ADC_Data = 0;
- for(i = 0;i < 8; i++)
- {
- ADC_Buf = ADC_Get();
- ADC_Data += ADC_Buf;
- }
- ADC_Data = (ADC_Data / 8);
- temp = (ADC_Data / 8);
- ADC_Data = (ADC_Data * 3300)/4096;
- uart0_sendstring("AD0.2输入电压是:");
- UART0_SendChar(ADC_Data);
- uart0_senddat('m');
- uart0_senddat('V');
- uart0_senddat('\r');
- uart0_senddat('\n');
-
- //CAN发送数据
- if (CAN_TxRdy[CAN1])
- {
- CAN_TxRdy[CAN1] = 0;
- CAN_TxMsg[CAN1].data[0] = temp>>8; /* 填充数据 */
- CAN_TxMsg[CAN1].data[1] = temp;
- CAN_send (CAN1, &CAN_TxMsg[CAN1]);
- }
- j++;
- if(j>255)
- {
- j=0;
- }
- for(i=0;i<0xffffff;i++);
- }
- }
复制代码 2.2、程序源码
Blinky_with_IRD_LPC1768-ADC.rar
(237.87 KB, 下载次数: 7)
|
|