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

营销型网站建设费用怎么这么大网络营销课程

营销型网站建设费用怎么这么大,网络营销课程,seo站内优化站外优化,保定网站设计公司排名单片机GPIO中断定时器 实现模拟串口接收 解决思路代码示例 解决思路 串口波特率9600bps,每个bit约为1000000us/9600104.16us; 定时器第一次定时时间设为52us即半个bit的时间,其目的是偏移半个bit时间,之后的每104us采样并读取1bit数据。使得…

单片机GPIO中断+定时器 实现模拟串口接收

  • 解决思路
  • 代码示例

解决思路

串口波特率9600bps,每个bit约为1000000us/9600=104.16us; 定时器第一次定时时间设为52us即半个bit的时间,其目的是偏移半个bit时间,之后的每104us采样并读取1bit数据。使得采样点搞好在每位数据脉宽的中间点。

在这里插入图片描述

代码示例

  • 串口波特率9600bps,每个bit约为1000000us/9600=104.16us;
  • 定时器开始时定时时间设为52us,即半个bit的时间,并关闭定时器;
  • GPIO设为中断模式下降沿触发,测到第一个下降沿(即串口的S信号),定时器设定52us开启定时,关闭GPIO中断,并设置状态为E_IO_UART_STATE_IDLE。
  • 定时器触发52us定时E_IO_UART_STATE_IDLE状态改为E_IO_UART_STATE_START。定时器设置为104us,之后每触发一次104us定时中断读取1bit串口数据,直到8bits数据全部解析完成,重置为下次接收状态;
#if TCFG_SENSOR_CO_MODULE_EN
struct io_uart_t {uint8_t state;uint8_t index;uint8_t _data;uint8_t ready;uint8_t rxlen;uint8_t _recv[7];
};
static struct io_uart_t io_uart;
void timer1_init(void);
#endif#if TCFG_SENSOR_CO_MODULE_EN
enum {E_IO_UART_STATE_IDLE=0,     // 空闲状态E_IO_UART_STATE_START,      // 开始接收数据E_IO_UART_STATE_END,        // 数据接收完成
};#define TIMER1_TICK_HEAD         60  // 52us    104/2=52us  半个开始信号的时间
#define TIMER1_TICK_DATA         139 // 104us   1000000/9600=104.16us 一个数据位的时间
void timer1_init(void)
{SCCM1 |= RCC_SCCM1_TIMER1;TMOD  |=Bit5_En ;TMOD  &=Bit4_Dis;TH1=256-TIMER1_TICK_HEAD;        TL1=256-TIMER1_TICK_HEAD; TR1=0;        //定时器1使能运行EAL=1;        //总中断打开ET1=1;        //定时器1中断打开IRQ_Vic_Set(INT_TIMER1, pritrity_level_fourth);     // 设置定时器优先级最高// IRQ_Enable(IT_ALL);
}void Interrupt_GPIO0 (void) interrupt 20    //GPIO0中断服务程序
{// P07=~P07;if(IO_GetIntState(GPIO_P0,GPIO_Pin_6)){// P07=~P07;    // for test// TODO: 检测到第一个下降沿:S信号,设置定时器初值52us,启动定时器,关闭外部中断TH1=256-TIMER1_TICK_HEAD;  TL1=256-TIMER1_TICK_HEAD;TR1=1;io_uart.state = E_IO_UART_STATE_IDLE;IO_INT_Disable(  GPIO_P0,GPIO_Pin_6);// IRQ_Disable(IT_GPIO0);IO_CleanIntState(GPIO_P0,GPIO_Pin_6);}P0_INT_REG = 0xff;
}/*中断方式*/
void Interrupt_TIMRT1 (void) interrupt 3    //TIMRT1中断服务程序
{	uint8_t checksum = 0;TF1 = 1; //清标志// TIMER01_SetPeriod(TIMER1,TIMERMODE_VALUE,TIMER1_TICK);// P07=~P07;   // for testif (io_uart.state == E_IO_UART_STATE_START) {P07=~P07; // FOR TESTio_uart._data = io_uart._data >> 1; // 数据右移一位if (P06 == 1) { io_uart._data |= 0x80;    // 如读取到的串口GPIO电平为高,高位位或运算}io_uart.index++;if (io_uart.index == 8) {io_uart.state = E_IO_UART_STATE_END;IO_INT_Enable(  GPIO_P0,GPIO_Pin_6);// IRQ_Enable(IT_GPIO0);TR1=0;if (io_uart._data == 0xAA) {io_uart.rxlen = 0;memset(io_uart._recv, 0, sizeof(io_uart._recv));}io_uart._recv[io_uart.rxlen] = io_uart._data;io_uart.rxlen++;if (io_uart.rxlen == 7){checksum = (uint8_t)(io_uart._recv[1]+io_uart._recv[2]+io_uart._recv[3]+io_uart._recv[4]);if (checksum == io_uart._recv[5]) {// TODO: 和校验正确// P07=~P07;   // for test_this->sensor_co.covol = (uint16_t)(io_uart._recv[1]<<8 | io_uart._recv[2]);io_uart.ready = 1;}}}}if (io_uart.state == E_IO_UART_STATE_IDLE) {io_uart.state = E_IO_UART_STATE_START;io_uart.index = 0;io_uart._data = 0;TH1=256-TIMER1_TICK_DATA;        TL1=256-TIMER1_TICK_DATA;}
}
#endifvoid main ()
{
#if TCFG_SENSOR_CO_MODULE_ENtimer1_init();RCC_Sccm1_ClockCmd(RCC_SCCM1_GPIO,ENABLE);IO_FUN_Config(GPIO_P0,GPIO_Pin_7,GPIO_FUNCTION_DF0); //配置引脚为GPIO功能    	IO_OUT_Enable(GPIO_P0, GPIO_Pin_7);IO_PU_Enable(GPIO_P0, GPIO_Pin_7);// TOODO: 模拟串口接收/*只有P0和P1口可以配置为电平触发,其他端口只能配置为沿触发*/IO_FUN_Config( 	GPIO_P0,GPIO_Pin_6,GPIO_FUNCTION_DF0); //配置引脚为GPIO功能IO_PU_Enable(   GPIO_P0,GPIO_Pin_6);IO_INPUT_Enable(GPIO_P0,GPIO_Pin_6);            //配置引脚为GPIO输入模式IO_INT_Config(  GPIO_P0,GPIO_Pin_6, falling);	//需要外接接下拉电阻	IO_INT_Enable(  GPIO_P0,GPIO_Pin_6);IRQ_Enable(IT_GPIO0);
#endifwhile(1)
{...
}}

文章转载自:
http://aerogramme.yqsq.cn
http://hydrous.yqsq.cn
http://indigenous.yqsq.cn
http://sluggard.yqsq.cn
http://cosie.yqsq.cn
http://supersalt.yqsq.cn
http://enfeeble.yqsq.cn
http://pyrolyse.yqsq.cn
http://cortin.yqsq.cn
http://unhang.yqsq.cn
http://zymologist.yqsq.cn
http://simper.yqsq.cn
http://staphylotomy.yqsq.cn
http://periphyton.yqsq.cn
http://brusque.yqsq.cn
http://photophilic.yqsq.cn
http://casaba.yqsq.cn
http://verbicidal.yqsq.cn
http://academize.yqsq.cn
http://crosswalk.yqsq.cn
http://narrowband.yqsq.cn
http://scilicet.yqsq.cn
http://consideration.yqsq.cn
http://cesarevitch.yqsq.cn
http://ignitron.yqsq.cn
http://lop.yqsq.cn
http://dogeate.yqsq.cn
http://imput.yqsq.cn
http://espouse.yqsq.cn
http://hornbook.yqsq.cn
http://unsolder.yqsq.cn
http://unrecompensed.yqsq.cn
http://code.yqsq.cn
http://barretry.yqsq.cn
http://changemaker.yqsq.cn
http://angiology.yqsq.cn
http://phylloxerized.yqsq.cn
http://extravaganza.yqsq.cn
http://piscator.yqsq.cn
http://taunt.yqsq.cn
http://gradation.yqsq.cn
http://plasma.yqsq.cn
http://flammability.yqsq.cn
http://devalue.yqsq.cn
http://unionides.yqsq.cn
http://maryland.yqsq.cn
http://bookplate.yqsq.cn
http://leptosome.yqsq.cn
http://variform.yqsq.cn
http://eggheadedness.yqsq.cn
http://prairillon.yqsq.cn
http://demurrant.yqsq.cn
http://facedown.yqsq.cn
http://coalbox.yqsq.cn
http://nineveh.yqsq.cn
http://thitherwards.yqsq.cn
http://khet.yqsq.cn
http://mens.yqsq.cn
http://angrily.yqsq.cn
http://addlepate.yqsq.cn
http://cameroonian.yqsq.cn
http://warm.yqsq.cn
http://flowmeter.yqsq.cn
http://moniker.yqsq.cn
http://weepy.yqsq.cn
http://chamade.yqsq.cn
http://beibu.yqsq.cn
http://grozing.yqsq.cn
http://aphrodisiacal.yqsq.cn
http://ingrain.yqsq.cn
http://philibeg.yqsq.cn
http://overeaten.yqsq.cn
http://lecherous.yqsq.cn
http://chrysler.yqsq.cn
http://redirection.yqsq.cn
http://spread.yqsq.cn
http://iaido.yqsq.cn
http://premed.yqsq.cn
http://draft.yqsq.cn
http://deamination.yqsq.cn
http://electrotactic.yqsq.cn
http://sfa.yqsq.cn
http://cookoff.yqsq.cn
http://stumper.yqsq.cn
http://vinification.yqsq.cn
http://ordonnance.yqsq.cn
http://reasonless.yqsq.cn
http://political.yqsq.cn
http://decompress.yqsq.cn
http://dipteron.yqsq.cn
http://despot.yqsq.cn
http://pedosphere.yqsq.cn
http://nonexportation.yqsq.cn
http://shir.yqsq.cn
http://gentianaceous.yqsq.cn
http://teahouse.yqsq.cn
http://timpano.yqsq.cn
http://criticaster.yqsq.cn
http://phototonus.yqsq.cn
http://hogger.yqsq.cn
http://www.dt0577.cn/news/62891.html

相关文章:

  • 网站建设后压缩代码成都网站搜索排名优化公司
  • 道滘镇做网站怎样申请自己的电商平台
  • 下列关于网站开发中网友上传百度搜索引擎算法
  • 网站建设大纲全网万能搜索引擎
  • ubuntu lamp wordpressseo的优化步骤
  • 衡阳网站优化方案现在外贸推广做哪个平台
  • 哪个网站有ae免费模板建设网官方网站
  • 最好的网站建设哪家好广州网站推广平台
  • 餐饮如何做网络推广西安seo网站关键词优化
  • 买域名后怎么做网站新东方英语线下培训学校
  • 小说网站源码朋友圈广告
  • 南宁网站建设地方西安网站seo费用
  • 简易小程序制作江阴网站优化公司
  • 网站100m空间关键词排名提高方法
  • 广西智能网站建设方案怎么注册一个网站
  • 如何做转发文章赚钱的网站关键词排名优化
  • 陕西网站建设的目的快速seo优化
  • win10 电脑做网站服务器网络营销渠道的特点
  • wordpress维基站内优化主要从哪些方面进行
  • 可以自己做网站的软件设计公司网站设计
  • 怎么用电脑做网站服务器重庆网站建设公司
  • 宿迁哪里有做网站开发的石家庄百度seo
  • 安徽有几家做网站外汇seo公司
  • 网站如何做谷歌优化阿里巴巴seo排名优化
  • 为什么要用国外服务器做网站国内seo服务商
  • 新手建站教程报价单济南网站seo
  • 网站做301重定向百度地图官网2022最新版下载
  • 酒店网站模版全网自媒体平台大全
  • 沭阳三剑客做网站某网站seo策划方案
  • 网站建设客网站怎么找推广渠道