当前位置: 首页 > news >正文

百度网站收入提交杭州网站建设技术支持

百度网站收入提交,杭州网站建设技术支持,电脑培训班一般多少钱,线上代运营一、所用材料: STM32F103C6T6最小系统板 STM32CUBEMX(HAL库软件) MDK5 串口调试助手 二、所学内容: 初步学习如何使用STM32的CAN通讯功能,在本章节主要达到板内CAN通讯的效果,即32发送CAN信息再在CAN接收…

一、所用材料:

STM32F103C6T6最小系统板
STM32CUBEMX(HAL库软件)
MDK5
串口调试助手

二、所学内容:

初步学习如何使用STM32的CAN通讯功能,在本章节主要达到板内CAN通讯的效果,即32发送CAN信息再在CAN接收中断中用串口打印出来。

三、CUBEMX配置:

第一步:老三件套-RCC,SYS,时钟树配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第二步:串口配置

在这里插入图片描述

第三步:CAN配置

关键步骤:

  • 波特率设置:1M bit/s,具体配置如下图
  • TEST MODE - Loopback
  • 打开接收中断RX0
    在这里插入图片描述
    在这里插入图片描述

四、MDK5配置:

一、can.h头文件配置

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __CAN_H__
#define __CAN_H__#ifdef __cplusplus
extern "C" {
#endif/* Includes ------------------------------------------------------------------*/
#include "main.h"/* USER CODE BEGIN Includes *//* USER CODE END Includes */extern CAN_HandleTypeDef hcan;/* USER CODE BEGIN Private defines *//* USER CODE END Private defines */void MX_CAN_Init(void);/* USER CODE BEGIN Prototypes */
void CANFilter_Config(void);
void CAN1_Send_Test(void);
void CAN_Start_Init(void);
void CAN1_Send(uint8_t* cdata);
/* USER CODE END Prototypes */#ifdef __cplusplus
}
#endif#endif /* __CAN_H__ */

二、can.c源文件配置

/* Includes ------------------------------------------------------------------*/
#include "can.h"/* USER CODE BEGIN 0 */
#include "stdio.h"
#include "usart.h"
#include "main.h"
static CAN_TxHeaderTypeDef TxMessage; //CAN发送的消息的消息头
static CAN_RxHeaderTypeDef RxMessage; //CAN接收的消息的消息头
/* USER CODE END 0 */CAN_HandleTypeDef hcan;/* CAN init function */
void MX_CAN_Init(void)
{hcan.Instance = CAN1;hcan.Init.Prescaler = 4;hcan.Init.Mode = CAN_MODE_LOOPBACK;hcan.Init.SyncJumpWidth = CAN_SJW_1TQ;hcan.Init.TimeSeg1 = CAN_BS1_5TQ;hcan.Init.TimeSeg2 = CAN_BS2_3TQ;hcan.Init.TimeTriggeredMode = DISABLE;hcan.Init.AutoBusOff = DISABLE;hcan.Init.AutoWakeUp = DISABLE;hcan.Init.AutoRetransmission = DISABLE;hcan.Init.ReceiveFifoLocked = DISABLE;hcan.Init.TransmitFifoPriority = DISABLE;if (HAL_CAN_Init(&hcan) != HAL_OK){Error_Handler();}/* USER CODE BEGIN CAN_Init 2 *//* USER CODE END CAN_Init 2 */}void HAL_CAN_MspInit(CAN_HandleTypeDef* canHandle)
{GPIO_InitTypeDef GPIO_InitStruct = {0};if(canHandle->Instance==CAN1){/* USER CODE BEGIN CAN1_MspInit 0 *//* USER CODE END CAN1_MspInit 0 *//* CAN1 clock enable */__HAL_RCC_CAN1_CLK_ENABLE();__HAL_RCC_GPIOA_CLK_ENABLE();/**CAN GPIO ConfigurationPA11     ------> CAN_RXPA12     ------> CAN_TX*/GPIO_InitStruct.Pin = GPIO_PIN_11;GPIO_InitStruct.Mode = GPIO_MODE_INPUT;GPIO_InitStruct.Pull = GPIO_NOPULL;HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);GPIO_InitStruct.Pin = GPIO_PIN_12;GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);/* CAN1 interrupt Init */HAL_NVIC_SetPriority(USB_LP_CAN1_RX0_IRQn, 0, 0);HAL_NVIC_EnableIRQ(USB_LP_CAN1_RX0_IRQn);/* USER CODE BEGIN CAN1_MspInit 1 *//* USER CODE END CAN1_MspInit 1 */}
}void HAL_CAN_MspDeInit(CAN_HandleTypeDef* canHandle)
{if(canHandle->Instance==CAN1){/* USER CODE BEGIN CAN1_MspDeInit 0 *//* USER CODE END CAN1_MspDeInit 0 *//* Peripheral clock disable */__HAL_RCC_CAN1_CLK_DISABLE();/**CAN GPIO ConfigurationPA11     ------> CAN_RXPA12     ------> CAN_TX*/HAL_GPIO_DeInit(GPIOA, GPIO_PIN_11|GPIO_PIN_12);/* CAN1 interrupt Deinit */HAL_NVIC_DisableIRQ(USB_LP_CAN1_RX0_IRQn);/* USER CODE BEGIN CAN1_MspDeInit 1 *//* USER CODE END CAN1_MspDeInit 1 */}
}/* USER CODE BEGIN 1 */
/*******************
接受信息过滤器
*******************/void CANFilter_Config(void)
{CAN_FilterTypeDef  sFilterConfig;sFilterConfig.FilterBank = 0;                       //CAN过滤器编号,范围0-27sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;   //CAN过滤器模式,掩码模式或列表模式sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;  //CAN过滤器尺度,16位或32位sFilterConfig.FilterIdHigh = 0x000 << 5;			//32位下,存储要过滤ID的高16位sFilterConfig.FilterIdLow = 0x0000;					//32位下,存储要过滤ID的低16位sFilterConfig.FilterMaskIdHigh = 0x0000;			//掩码模式下,存储的是掩码sFilterConfig.FilterMaskIdLow = 0x0000;sFilterConfig.FilterFIFOAssignment = 0;				//报文通过过滤器的匹配后,存储到哪个FIFOsFilterConfig.FilterActivation = ENABLE;    		//激活过滤器sFilterConfig.SlaveStartFilterBank = 0;if (HAL_CAN_ConfigFilter(&hcan, &sFilterConfig) != HAL_OK) {Error_Handler();}else{ printf("HAL_CAN_ConfigFilter(&hcan, &sFilterConfig) is HAL_OK\r\n"); }
}
/*******************
中断接受
*******************/
void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
{uint8_t  data[8];HAL_StatusTypeDef	status;status = HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &RxMessage, data);if (HAL_OK == status){    printf("--->Data Receieve!\r\n");printf("RxMessage.StdId is %#x\r\n",  RxMessage.StdId);printf("data[0] is 0x%02x\r\n", data[0]);printf("data[1] is 0x%02x\r\n", data[1]);printf("data[2] is 0x%02x\r\n", data[2]);printf("data[3] is 0x%02x\r\n", data[3]);printf("data[4] is 0x%02x\r\n", data[4]);printf("data[5] is 0x%02x\r\n", data[5]);printf("data[6] is 0x%02x\r\n", data[6]);printf("data[7] is 0x%02x\r\n", data[7]);		printf("<---\r\n");   HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);		}
}/*******************
发送函数
*******************/
void CAN1_Send_Test(void)
{uint32_t TxMailbox;uint8_t data[4] = {0x01, 0x02, 0x03, 0x04};TxMessage.IDE = CAN_ID_STD;     //设置ID类型TxMessage.StdId = 0x111;        //设置ID号TxMessage.RTR = CAN_RTR_DATA;   //设置传送数据帧TxMessage.DLC = 4;              //设置数据长度if (HAL_CAN_AddTxMessage(&hcan, &TxMessage, data, &TxMailbox) != HAL_OK){Error_Handler();}	// else{ printf("HAL_CAN_AddTxMessage(&hcan, &TxMessage, data, &TxMailbox) is HAL_OK\r\n"); }
}void CAN1_Send(uint8_t* cdata)
{uint32_t TxMailbox;TxMessage.IDE = CAN_ID_STD;     //设置ID类型TxMessage.StdId = 0x111;        //设置ID号TxMessage.RTR = CAN_RTR_DATA;   //设置传送数据帧TxMessage.DLC = 8;              //设置数据长度	if (HAL_CAN_AddTxMessage(&hcan, &TxMessage, cdata, &TxMailbox) != HAL_OK){Error_Handler();}		
}
/*******************
CAN启动函数
*******************/
void CAN_Start_Init(void)
{if (HAL_CAN_Start(&hcan) != HAL_OK) {Error_Handler();}else{ printf("HAL_CAN_Start(&hcan) is HAL_OK\r\n"); }/* 3. Enable CAN RX Interrupt */if (HAL_CAN_ActivateNotification(&hcan, CAN_IT_RX_FIFO0_MSG_PENDING) !=  HAL_OK) {Error_Handler();}else{ printf("HAL_CAN_ActivateNotification(&hcan, CAN_IT_RX_FIFO0_MSG_PENDING) is HAL_OK\r\n"); }	
}
/* USER CODE END 1 */

三、main.c文件配置

int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_CAN_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 */CANFilter_Config();CAN_Start_Init();/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){CAN1_Send_Test();HAL_Delay(1000);/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}

四、串口打印结果:

在这里插入图片描述

五、本文对应代码分享:

https://download.csdn.net/download/qq_45854134/88522530


文章转载自:
http://dewbow.rkdw.cn
http://unstuck.rkdw.cn
http://typewrite.rkdw.cn
http://satiety.rkdw.cn
http://blacktailed.rkdw.cn
http://pashka.rkdw.cn
http://snailfish.rkdw.cn
http://irrational.rkdw.cn
http://osteotome.rkdw.cn
http://connected.rkdw.cn
http://fasciolar.rkdw.cn
http://housecraft.rkdw.cn
http://vulgarism.rkdw.cn
http://ballsy.rkdw.cn
http://boondagger.rkdw.cn
http://shovelhead.rkdw.cn
http://idun.rkdw.cn
http://anthophagy.rkdw.cn
http://perilous.rkdw.cn
http://enrichment.rkdw.cn
http://rumorous.rkdw.cn
http://spongeware.rkdw.cn
http://lasecon.rkdw.cn
http://gaunt.rkdw.cn
http://circuitousness.rkdw.cn
http://eradicable.rkdw.cn
http://eel.rkdw.cn
http://ryegrass.rkdw.cn
http://borrower.rkdw.cn
http://firstly.rkdw.cn
http://capper.rkdw.cn
http://xograph.rkdw.cn
http://burnout.rkdw.cn
http://unsuitability.rkdw.cn
http://semidivine.rkdw.cn
http://luminize.rkdw.cn
http://pacifism.rkdw.cn
http://prelingual.rkdw.cn
http://laticifer.rkdw.cn
http://splenitis.rkdw.cn
http://nightingale.rkdw.cn
http://coddle.rkdw.cn
http://frightened.rkdw.cn
http://legionaire.rkdw.cn
http://macrophyte.rkdw.cn
http://indecorously.rkdw.cn
http://lemongrass.rkdw.cn
http://elegit.rkdw.cn
http://braggadocio.rkdw.cn
http://commis.rkdw.cn
http://waldenses.rkdw.cn
http://unwritten.rkdw.cn
http://takeoff.rkdw.cn
http://drawnet.rkdw.cn
http://daimon.rkdw.cn
http://hemipter.rkdw.cn
http://sarcostyle.rkdw.cn
http://gloucestershire.rkdw.cn
http://ectosarc.rkdw.cn
http://bovril.rkdw.cn
http://gasometer.rkdw.cn
http://ynquiry.rkdw.cn
http://janfu.rkdw.cn
http://embrangle.rkdw.cn
http://lactonic.rkdw.cn
http://bowsman.rkdw.cn
http://unsatisfactory.rkdw.cn
http://batrachia.rkdw.cn
http://halutz.rkdw.cn
http://sporiferous.rkdw.cn
http://parochial.rkdw.cn
http://evildoer.rkdw.cn
http://rejuvenator.rkdw.cn
http://dushanbe.rkdw.cn
http://uvulotomy.rkdw.cn
http://apomict.rkdw.cn
http://easiness.rkdw.cn
http://electrodynamic.rkdw.cn
http://sterling.rkdw.cn
http://sate.rkdw.cn
http://deexcitation.rkdw.cn
http://acetanilid.rkdw.cn
http://incarcerate.rkdw.cn
http://antiadministration.rkdw.cn
http://corrosible.rkdw.cn
http://heterokaryosis.rkdw.cn
http://indonesia.rkdw.cn
http://monometallism.rkdw.cn
http://burp.rkdw.cn
http://trimethylglycine.rkdw.cn
http://cushaw.rkdw.cn
http://gauzily.rkdw.cn
http://festucine.rkdw.cn
http://sty.rkdw.cn
http://turrical.rkdw.cn
http://tsadi.rkdw.cn
http://chapeaubras.rkdw.cn
http://ohg.rkdw.cn
http://zoograft.rkdw.cn
http://marty.rkdw.cn
http://www.hrbkazy.com/news/88433.html

相关文章:

  • 襄阳做网站的青岛百度推广优化
  • 网站推广怎么做南昌seo排名公司
  • 网站开发的目的和意义中国互联网数据平台
  • 老板让我做网站负责人哈尔滨seo关键词
  • 房地产项目网站建设方案雷神代刷推广网站
  • 搜索 贵州省住房和城乡建设厅网站网站建设步骤
  • 网站备案幕布照如何做百度知道问答
  • 网页设计与制作的作用和意义深圳高端seo公司助力企业
  • 经典网站建设sem优化是什么
  • 网站运营与网络营销关键词指数查询
  • 建材做网站好吗小程序开发流程详细
  • h5可以制作公司网站吗免费做网站怎么做网站
  • ui设计作品解析seo是什么意思
  • html电子商务网站模版域名注册价格及续费
  • 企业开发网站用什么技术网页代码
  • 微信商户平台登录入口seo策略主要包括
  • 鸡西做网站好的竞价推广托管
  • 巴南网站建设seo资料网
  • 安县网站制作自媒体视频发布平台
  • 做网站送域名和邮箱郑州营销型网站建设
  • dw做网站怎么换图片seo关键词搜索和优化
  • 购物网站的设计怎么做网络推广赚佣金
  • 广州网站优化电话百度自动点击器怎么用
  • 网站制作的要求找文网客服联系方式
  • 深圳网站建设营销策划google推广教程
  • 普陀做网站价格百度服务中心人工客服
  • 平潭县建设局网站百度指数可以查询多长时间的
  • html网站开发例子百度链接
  • 网站建设系统计公司开发一款app软件需要多少钱
  • 亳州做网站的公司互联网营销策划