-
testdialog
vc环境下对pro/engineer 进行二次开发的小例子。示例演示了对话框的开发方法。(vc environment on the pro/engineer to carry out the secondary development of small examples. Examples demonstrate the development of methods of dialog.)
- 2007-08-12 19:42:36下载
- 积分:1
-
STM32-CAN模块通讯实验(正常工作模式)
学习STM32 的CAN模块,最核心 的就是系统时钟的配置问题,代码如下: /**************************************************************///程 序 名: RCC_Config()//开 发 者: 火工头陀//入口参数: 无//功能说明: 系统时钟配置//**************************************************************/void RCC_Config(void){ ErrorStatus HSEStartUpStatus; //定义结构体 /* RCC system reset(for debug purpose)将外设 RCC寄存器重设为缺省值 */ RCC_DeInit(); ///* Enable HSE 设置外部高速晶振(HSE)*/ //RCC_HSEConfig(RCC_HSE_ON); /* Enable HSE 设置外部高速晶振(HSE)*/ //外部晶体振荡器被旁路,参照《数据手册》6.2.1 //这样设置是因为ufun学习板的原理图就是这样设计的 //RCC_HSEConfig(RCC_HSE_Bypass); RCC_HSEConfig(RCC_HSE_ON);//亚明小板设置方法 (最常用的无源晶振设置方法) /* Wait till HSE is ready 等待 HSE 起振*/ HSEStartUpStatus = RCC_WaitForHSEStartUp(); if (HSEStartUpStatus == SUCCESS) { /* Enable Prefetch Buffer 预取指缓存使能*/ FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); /* Flash 2 wait state 设置代码延时值*/ FLASH_SetLatency(FLASH_Latency_2); /* HCLK = SYSCLK 设置 AHB 时钟(HCLK)= 72 MHz*/ RCC_HCLKConfig(RCC_SYSCLK_Div1); /* PCLK1 = HCLK/2 设置低速 AHB 时钟(PCLK1) = 72/2 = 36 MHz*/ RCC_PCLK1Config(RCC_HCLK_Div2); /* PCLK2 = HCLK 设置高速 AHB 时钟(PCLK2)= 72 MHz*/ RCC_PCLK2Config(RCC_HCLK_Div1); //根据外接晶振设置总线频率、PLL 时钟源、倍频系数 /* PLLCLK = 12MHz * 6 = 72 MHz 设置 PLL 时钟源及倍频系数*/ //RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_6); /* PLLCLK = 8MHz * 9 = 72 MHz 设置 PLL 时钟源及倍频系数*/ RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); /* Enable PLL 使能或者失能 PLL*/ RCC_PLLCmd(ENABLE); /* Wait till PLL is ready 等待指定的 RCC 标志位设置成功 等待PLL初始化成功*/ while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) { } /* Select PLL as system clock source 设置系统时钟(SYSCLK) 设置PLL为系统时钟源*/ RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); /* Wait till PLL is used as system clock source 等待PLL成功用作于系统时钟的时钟源*/ while(RCC_GetSYSCLKSource() != 0x08) { } } } 其次是具体的CAN模块的相关配置 /******************************************************************************* * 文件名 :can.c * 描述 :将printf函数重定向到USART1。这样就可以用printf函数将单片机的数据 * 打印到PC上的超级终端或串口调试助手。 ********************************************************************************** * 实验平台:ufun10.02开发板 * 硬件连接:--------------------------- * | PA11-CAN-RX | * | PA12-CAN-TX | * --------------------------- * 库版本 :ST-V3.5.0 * * 作者 :desk1983(火工头陀) * 论坛 : * 淘宝 :**********************************************************************************/#include "can.h" #include "CanMsg.h" /* * 函数名:CAN_GPIO_Config * 描述 :CAN的GPIO 配置,PB8上拉输入,PB9推挽输出 * 输入 :无 * 输出 : 无 * 调用 :内部调用 */static void CAN_GPIO_Config(void){ GPIO_InitTypeDef GPIO_InitStructure; /*外设时钟设置*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE); /* GPIO_重映射 相关 设置*/ GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE); /* Configure CAN pin: RX */ // PA11 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; // 上拉输入 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); /* Configure CAN pin: TX */ // PA12 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; // 复用推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); }/* * 函数名:CAN_NVIC_Config * 描述 :CAN的NVIC 配置,第1优先级组,0,0优先级 * 输入 :无 * 输出 : 无 * 调用 :内部调用 */static void CAN_NVIC_Config(void){ NVIC_InitTypeDef NVIC_InitStructure; /* Configure one bit for preemption priority */ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); /*中断设置*/ NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn; //CAN1 RX0中断 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //抢占优先级0 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //子优先级为0 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);}/* * 函数名:CAN_Mode_Config * 描述 :CAN的模式 配置 * 输入 :无 * 输出 : 无 * 调用 :内部调用 */static void CAN_Mode_Config(void){ CAN_InitTypeDef CAN_InitStructure; /************************CAN通信参数设置**********************************/ /*CAN寄存器初始化*/ CAN_DeInit(CAN1); CAN_StructInit(&CAN_InitStructure); /*CAN单元初始化*/ CAN_InitStructure.CAN_TTCM = DISABLE; //MCR-TTCM 关闭时间触发通信模式使能 CAN_InitStructure.CAN_ABOM = DISABLE; //MCR-ABOM 自动离线管理 CAN_InitStructure.CAN_AWUM = DISABLE; //MCR-AWUM 使用自动唤醒模式 CAN_InitStructure.CAN_NART = ENABLE; //MCR-NART 禁止报文自动重传 DISABLE-自动重传 CAN_InitStructure.CAN_RFLM = DISABLE; //MCR-RFLM 接收FIFO 锁定模式 DISABLE-溢出时新报文会覆盖原有报文 CAN_InitStructure.CAN_TXFP = DISABLE; //MCR-TXFP 发送FIFO优先级 DISABLE-优先级取决于报文标示符 //CAN_InitStructure.CAN_Mode = CAN_Mode_LoopBack; //环回模式 CAN_InitStructure.CAN_Mode = CAN_Mode_Normal; //正常模式 //BTR-SJW 重新同步跳跃宽度 1个时间单元 CAN_InitStructure.CAN_SJW = CAN_SJW_1tq; //BTR-TS1 时间段1 占用了8个时间单元 CAN_InitStructure.CAN_BS1 = CAN_BS1_3tq; //BTR-TS1 时间段2 占用了7个时间单元 CAN_InitStructure.CAN_BS2 = CAN_BS2_2tq; //BTR-BRP 波特率分频器 定义了时间单元的时间长度 36/((1 3 2)*12)=0.5Mbps=500Kbps //BTR-BRP 波特率分频器 定义了时间单元的时间长度 36/((1 8 7)*9)=0.25Mbps=250Kbps CAN_InitStructure.CAN_Prescaler =12; CAN_Init(CAN1, &CAN_InitStructure);}/* * 函数名:CAN_Filter_Config * 描述 :CAN的过滤器 配置 * 输入 :无 * 输出 : 无 * 调用 :内部调用 */static void CAN_Filter_Config(void){ CAN_FilterInitTypeDef CAN_FilterInitStructure; /*CAN过滤器初始化*/ CAN_FilterInitStructure.CAN_FilterNumber=0; //过滤器组0 CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask; //工作在标识符屏蔽位模式 CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit; //过滤器位宽为单个32位。 /* 使能报文标示符过滤器按照标示符的内容进行比对过滤,扩展ID不是如下的就抛弃掉,是的话,会存入FIFO0。 */ //CAN_FilterInitStructure.CAN_FilterIdHigh= (((u32)0x131416; //要过滤的ID高位 //CAN_FilterInitStructure.CAN_FilterIdLow= (((u32)0x1314
- 2020-04-10下载
- 积分:1
-
LNode
1、 随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。
2、 遍历单向链表。
3、 把单向链表中元素逆置(不允许申请新的结点空间)。
4、 在单向链表中删除所有的偶数元素结点。
5、 编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建立一个非递减有序单向链表。
6、 利用算法5建立两个非递减有序单向链表,然后合并成一个非递增链表。
7、 利用算法5建立两个非递减有序单向链表,然后合并成一个非递减链表。
8、 利用算法1建立的链表,实现将其分解成两个链表,其中一个全部为奇数,令一个全部为偶数(尽量利用已知的存储空间).
9、 利用单向链表实现一元多项式的存储并实现两个多项式相加并输出结果。
10、 在主函数中设计一个简单的菜单,分别调试上述算法。
(visual c)
- 2009-03-26 10:10:27下载
- 积分:1
-
W5300控制器详细设计及使用说明文档
w5300的中文数据使用手册,初学者入门必备(W5300 Chinese data user manual)
- 2019-02-21 23:55:10下载
- 积分:1
-
ADRC 程序
自抗扰控制的源码,可以用在无人机控制中,也可以在各种场合替代PID(the source code of ADRC)
- 2021-01-24 16:58:40下载
- 积分:1
-
示波器测得比较标准的模拟IIC程序 i2c
用示波器测得比较标准的模拟IIC程序。STM32F103(A standard analog IIC program is measured by an oscilloscope. STM32F103)
- 2020-06-19 07:00:01下载
- 积分:1
-
HALCON-QRC二维码识别
基于HALCON与c#的ocr二维码识别,适合新手学习。(HALCON and c# based OCR two-dimensional code recognition, suitable for novice learning.)
- 2020-07-02 16:40:01下载
- 积分:1
-
canny
对静态图像应用canny算法提取边缘特征(The edge feature is extracted by canny algorithm of static image)
- 2017-12-11 10:53:47下载
- 积分:1
-
问道刷帮清包工具
问道 私服 工具 一键功能所有 丢东西刷榜(Ask for a key function of all personal tools.)
- 2018-04-24 11:16:07下载
- 积分:1
-
隧道水量计算器x
说明: 基于生态平衡的原理,计算隧道的平衡涌水量(Calculate the equilibrium water inflow of the tunnel)
- 2020-06-20 04:00:02下载
- 积分:1