如何区分cn2 gtia 和gt

午时已到 - 歌单 - 网易云音乐
本人喜欢的歌
播放:677次
网易云音乐多端下载
同步歌单,随时畅听320k好音乐
网易公司版权所有(C)杭州乐读科技有限公司运营:中国药品物流的曲折前行 - 新人报到版 - 爱爱医医学论坛
查看: 1219|回复: 0
中国药品物流的曲折前行
是否是医生:
如何知道爱爱医:
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
才可以下载或查看,没有帐号?
中国药品物流的曲折前行
<font color="#15年临近年底,根据国内专业的医药物流集成单位上海通量信息科技有限公司(全国热线:)的行业年报显示:在<font color="#15年我国经济低位运行的大背景下,我国医药物流行业的平均增长率优于各行业,尤其是大型药品流通企业的主营业务收入、利润增长、费用控制普遍优于医药物流业整体水平,对该行业发展的引领作用进一步提升。当然,医药物流行业总体销售增长放缓、运营成本增加、毛利率降低等一系列现实情况,也对全行业发展形成了较大压力。
一、医药物流行业概况
根据商务部的药品流通行业统计分析报告,<font color="#14年国内医药商业总规模约为<font color="#017亿元。按照抽样分析,医药商业批发环节的平均单件货值约为<font color="#00元,则相当于<font color="#106万件货物的流通规模。<font color="#14年国内医药零售总规模约为<font color="#04亿元。按照抽样分析,医药零售环节的平均单件货值约为<font color="#0元,则相当于<font color="#914万件货物的流通规模。 药品商业批发物流与药品零售物流的货物总件数约为<font color="#8020万件。
以商务部的药品批发直报企业的数为例,<font color="#14年药品批发直报企业商品配送总额<font color="#60亿元,其中自有配送中心配送额占<font color="#.5%,非自有配送中心配送额占<font color="#.5%,非自有配送中心配送额占比较上年降低<font color="#.3个百分点;物流费用<font color="#3亿元,其中自主配送物流费用占<font color="#.0%、委托配送物流费用占<font color="#.0%,委托配送物流费用占比较上年降低<font color="#.1个百分点。物流费用占商品配送总额的比例约为<font color="#.09%。
图1 2014年药品流通自有配送占比
非自有配送中心配送额和委托配送物流费用占比下降是由于直报系统企业中大型药品流通企业加大自身物流建设,提高自有配送能力,减少了委托及非自有配送比例。物流费用占企业三项费用(营业费用、管理费用、财务费用)总额的<font color="#.5%,与上年相比增加了<font color="#.1个百分点,占营业费用的比例为<font color="#.2%,与上年相比增加了<font color="#.7个百分点。基本药物配送额为<font color="#74亿元,其中对本省配送金额占比<font color="#.24%,对外省配送金额占比<font color="#.76%。
图2 2014年药品流通行业自主配送物流费用占比
根据上海通量信息科技有限公司(全国热线:)的预测,<font color="#15年我国全年药品流通行业销售总额约为<font color="#974亿元人民币。全国六大区域销售总额比重预计分别为:华东<font color="#%、华北<font color="#%、中南<font color="#%、西南<font color="#%、东北<font color="#%、西北<font color="#%。
&&&&2015年药品流通总额(亿元/人民币):16974&&
&&&&区域(占总销售额百分比)&&&&&&销售额(亿元)&&&&&&医药商业(亿元)&&&&&&药品商业物流(件)&&&&&&医药零售(亿元)&&&&&&药品零售物流(件)&&
&&&&华北区域(19%)&&&&&&3225.06 &&&&&&2418.80 &&&&&&&&&&&&806.27 &&&&&& &&
&&&&东北区域(6%)&&&&&&1018.44 &&&&&&763.83 &&&&&&&&&&&&254.61 &&&&&& &&
&&&&华东区域(40%)&&&&&&6789.60 &&&&&&5092.20 &&&&&&&&&&&&1697.40 &&&&&& &&
&&&&中南区域(20%)&&&&&&3394.80 &&&&&&2546.10 &&&&&&&&&&&&848.70 &&&&&& &&
&&&&西南区域(12%)&&&&&&2036.88 &&&&&&1527.66 &&&&&&&&&&&&509.22 &&&&&& &&
&&&&西北区域(3%)&&&&&&509.22 &&&&&&381.92 &&&&&&&&&&&&127.31 &&&&&& &&
&&&&物流总货量(件)&&&&&&合计&&&&&&&&&&&& &&&&&&&&
表1 <font color="#15年药品流通货运量区域分配表
通过分析预测,<font color="#15年中国药品流通经济货物总量约为<font color="#0187.26万件货物,比<font color="#14年同期增长率为<font color="#%,其中商业物流约为<font color="#565.7万件、零售物流约为<font color="#621.6万件货物。
说明:商务部药品销售六大区分类
华北地区 :北京、天 津、河北、山西、内蒙古;
东北地区 :辽宁、吉 林、黑龙江;
华东地区 :上海、江 苏、浙江、安徽、福建、江西、山东;
中南地区 :河南、湖 北、湖南、广东、广西、海南;
西南地区 :重庆、四 川、贵州、云南、&&西藏;
西北地区 :陕西、甘 肃、青海、宁夏、新疆。
根据行业不完全调研,目前我国医药企业的库房平均每平米的年产值约为<font color="#.5万元人民币。
&&&&2015年药品流通总额(亿元/人民币):16974&&
&&&&区域(占总销售额百分比)&&&&&&销售额(亿元)&&&&&&在用库房面积(平米)&&&&&&平均单家库房面积(平米)&&&&&&单平米库房产值(元)&&
&&&&华北区域(19%)&&&&&&3225.06&&&&&&1924287&&&&&&1417&&&&&&167598&&
&&&&东北区域(6%)&&&&&&1018.44&&&&&&540361&&&&&&597&&&&&&188474&&
&&&&华东区域(40%)&&&&&&6789.6&&&&&&4027179&&&&&&1772&&&&&&168594&&
&&&&中南区域(20%)&&&&&&3394.8&&&&&&2120030&&&&&&573&&&&&&160130&&
&&&&西南区域(12%)&&&&&&2036.88&&&&&&1270750&&&&&&620&&&&&&160290&&
&&&&西北区域(3%)&&&&&&509.22&&&&&&378524&&&&&&441&&&&&&134528&&
&&&&合计&&&&&&16974&&&&&&&&&&&& &&&&&&165420&&
表2 <font color="#15年中国医药物流区域库房面积和单平米产值表
本表调研分析的对象是国内所有医药流通企业,单家库房面积和单平米产值是所有企业的平均数(即未区分业态)。
二、我国医药物流模式
现代医药物流中心资产性投入巨大是一个显著特征,尤其是库房的合理运营,更是关系到医药企业的生存。调研分析,我国医药企业物流库房目前主要存在自营和委托配送两种模式,联盟模式尚在发展过程中。从方向上看,委托配送业务是中小药企从事现代物流建设以后必须拓展的业务领域。
自营模式:自营模式主要针对有一定实力的规模型医药企业,自建物流中心,构建企业自身的医药物流配送网络。自建物流中心对企业自身来说,需投入大量财力、物力、人力,资金压力大且投资回收期较长。自建物流中心区域限制性十分明显,除超大型医药企业外,多数医药企业无法大规模在全国范围内自建物流配送中心,而这恰恰符合中国药品公司众多且区域性较强的特点。通过调研来看,自营模式是中国医药物流仓库运营的主流模式。目前国内绝大多数医药企业,或租或建库房,都是选择以自营为主。
医药流通百强榜内的绝大部分药企都选择了自营物流模式,也有部分企业将物流业务与采销业务剥离,自负盈亏、独立经营,实现了集团内部服务市场化。
委托配送模式:委托配送是指业主药企将仓储物流业务以合同约定的方式委托给专业的第三方医药物流商运营和管理。第三方医药物流服务商负责委托方货品的入库、在库管理、发货与打包作业,极少数还负责货品的“门到门”配送服务。该模式的本质是一种物流外包服务,优势在于对于业主药企而言降低资产性投入的同时也降低了管理风险,可以将更多的精力投入到货品采购与销售的核心业务中。
根据原国家药监局<font color="#05年有关文件的指导精神和目前各省实际实行的文件来看,委托配送业务只能由获得了药品三方物流资质的企业开展。该业务的专业性要求强、软硬件设施设备要求高、市场准入门槛较高;但是确实有利于整合社会资源,提高行业物流效率,降低物流成本,提高中小药企的竞争力。
根据全国药品三方物流联盟的内部调研,委托配送业务可以为业主药企降低至少三分之一的物流运营成本。目前国内开展这一业务最成功的是云南昊邦医药物流园、昆明鑫源堂医药物流园、四川IHC国际健康产业城等。
联盟模式:指一些相对独立的物流公司、医药公司、基金公司、专业咨询公司等,面对市场机会,通过技术连接、资源共享,结成供应链管理联盟。国内目前最大的医药物流联盟就是于<font color="#14年<font color="#月在广州成立的全国药品三方物流联盟,该联盟目前由健桥药业、湘中南医药、泉龙物流、亚宝药业、振东制药、科盟医药、昊邦医药、鑫源堂医药、淮安九洲医药、上海通量信息科技、星鸿资本、华程资本、点通冷藏物流、中康福医药集团等近<font color="#家企业组成,囊括了医药工业、商业、物流服务商、物流科技商、地产基金等产业角色。该联盟以“共享物流库房、共享客户资源、实现联盟内部物流标准化作业”为特征,极力打造覆盖全国的药品物流网络,并为社会提供物流金融、物流科技集成、物流地产服务。
三、特殊品类物流
按销售品类分类,在<font color="#14年的行业统计中,我国药品类销售居医药市场销售额的主导地位,销售额占七大类医药商品销售总额的<font color="#.8%;其次为中成药类占<font color="#.6%,中药材类占<font color="#.0%、医疗器械类占<font color="#.6%、化学试剂类占<font color="#.3%、玻璃仪器类占<font color="#.2%、其他类占<font color="#.5%。有数据显示,我国医药电商的发展速度很快,<font color="#14年中国医药电商市场交易规模<font color="#亿元,分别占药品零售市场规模、药品市场规模的<font color="#.36%、<font color="#.45%。
图3 2014年全行业销售品类结构分布
按照物流作业的特点和存储要求不同,本文对冷链药品、医疗器械、中药材与中药饮片、药品电商业务进行了专项分析与研究。
冷链药品物流
冷链药品物流,主要是指采用专用设施设备,使冷藏药品从生产企业成品库到使用单位药品库的温度始终控制在规定范围内的物流过程。随着我国社会医疗保障水平的提高,尤其是对需要低温贮藏的医药冷链品的要求提高,这也带动了冷链药品物流的快速发展。
一般而言,常温库要求温度在<font color="#-30℃;阴凉库不高于<font color="#℃;冷库<font color="#-10℃。由于很多药品的保存要求是<font color="#-8℃,故实际在设置冷库或车辆的温度上下限时,多设置为<font color="#-8℃。
据报道:我国冷链药品销售额一般占我国医药流通企业药品总销售额的<font color="#%~<font color="#%,蕴涵数百亿元的医药冷链产品总需求。然而我国冷链药品物流体系的建设却远远滞后于日新月异的生物科技产业的发展。我国冷链药品物流系统已成为制约我国生物医药产业发展的主要因素,同时也是影响我国传染病预防体系和疾病检测与治疗体系能否正常发挥效力的重要因素。
最大的问题是,我国医药冷链物流水平落后与企业在这方面的投入较低也是有直接联系的。尤其我国的医药商业企业从数量上而言绝大多数是以第三终端配送为主的,这些企业的经营规模普遍不大,盈利水平较低,但是其直接配送的客户网点却往往超千家。在这种现实背景下,指望企业花大力气建设各自的冷链物流操作供应链,从经济效益上讲是无驱动性的。
医疗器械物流
我国医疗器械物流主要分为两类,一类是供应医疗机构使用的大宗设备类,一类是供应医疗机构使用的耗材和家用小型设备类。
国内的医疗器械市场不管在生产还是在销售领域,集中度相对都比较低。根据国家工信部发布的《<font color="#14年医药工业经济运行分析》报告,其中医疗器械行业主营业务收入总额为<font color="#98.98亿元人民币,占医药工业经济总额的<font color="#.47%,其中卫生材料及医用品制造约为<font color="#62.32亿元人民币,医疗器械设备及器械制造约为<font color="#36.07亿元人民币。
<font color="#14年我国医疗器械市场规模为<font color="#56亿元,约占全球医疗器械销售规模的<font color="#%,排名世界第二;在中低端医疗器械规模上则位列世界第一。调研显示,在<font color="#14年我国医疗器械约为<font color="#56的市场销售规模中,医院市场约为<font color="#44亿元,占<font color="#.09%;零售市场约为<font color="#2亿元,占<font color="#.91%。在零售市场中,传统零售业销售额约为<font color="#4亿元,占<font color="#.18%;电商渠道销售约为<font color="#8亿元,占<font color="#.82%。<font color="#15年上半年,医疗器械行业实现累计营业收入<font color="#80.92亿元。
中国医疗器械<font color="#14年市场总规模约为<font color="#56亿元,但生产企业<font color="#.57万家,平均每家才<font color="#50万元,仅为药品平均数的<font color="#.6%。可见,医疗器械生产领域市场集中度之低,多、小、散、低附加值的情况还是普遍存在。
从销售渠道和产品分类来看,我国医疗器械物流主要分为零售终端和医院终端。零售终端以经营企业自主配送、电商渠道快递配送为主,医院终端以生产企业大型批发企业的物流配送为主。
为了落实《医疗器械经营管理办法》以及GSP的要求,北京、上海、湖北、河南等多地区第三方医疗器械物流试点工作得到推进。以上海、北京为例,两地共二十余家企业被列为医疗器械第三方物流试点企业,试点将促进医疗器械经营环节储运渠道集中度提升,降低医疗器械市场流通成本,并利用第三方物企业信息化优势,强化高风险医疗器械产品追溯管理。试点情况表明,医疗器械第三方物流模式对促进医疗器械经营环节贮存运输的规范化、集约化管理,满足行业发展需要具有积极意义。
中药材与中药饮片物流
中药材、中药饮片是和中成药并列的三类中药产业,是最基本和最基础的中药发展的源头,也是我国的传统药品种类。不完全统计,我国中药材的主要品种达到<font color="#0多种,种植面积超过<font color="#0万亩,年产量<font color="#亿多公斤,全国已建立中药材生产基地<font color="#0多个。
根据商务部的有关数据显示,<font color="#14年我国中药材的全国销售总额约为<font color="#07397万元(约为<font color="#0.74亿元)人民币,其中 北京、安徽、广东、四川、浙江是中药材销售前五位省份,占据了全国中药材销售总额的<font color="#.65%。<font color="#13年,我国中药饮片行业营业收入总额约为<font color="#59亿元人民币;<font color="#14年,我国中药饮片的产能约为<font color="#0吨。
调研发现,我国<font color="#家中药材专业市场在中药材流通环节中的地位逐步下降,很多中药材专业市场如西安万寿路中药材市场、兰州黄河中药材市场、云南昆明菊花园中药材市场等呈现继续萎缩态势。目前尚存在的专业市场的交易量也在逐渐下降,个别品种如枸杞、山药等在中药材专业市场的交易量仅占<font color="#%。纳入国家商务部统计的<font color="#个大宗中药材品种中,有<font color="#个品种在中药材专业市场的交易量呈现大幅下滑态势。但是与中药材专业市场萎缩形成对比是产地市场的繁荣,比如吉林抚松人参市场、云南文山州三七市场、甘肃陇西中药材市场等。这些市场或是由于靠近产地,或是由于自然环境的禀赋,已发展成为规范的中药材市场。甘肃陇西中药材市场<font color="#14的销售额达到<font color="#亿元,规模已经超过很多中药材专业市场。依托这些市场,当地可以建设标准化、社会化的中药材仓储基地,形成辐射全国、集约高效的中药材物流配送体系。
药品电商物流
统计数据显示,<font color="#14年零售药店市场总规模<font color="#04亿元,药品电商销售总额约为<font color="#亿元人民币,预计<font color="#15年网上药店全品类交易规模将达到<font color="#0亿元。截至<font color="#15年<font color="#月<font color="#日,我国拥有互联网交易资质的企业合计为<font color="#5家,企业数量同比增长<font color="#.3%,其中B2B为<font color="#家、B2C为<font color="#9家、O2O为<font color="#家,主要的交易模式为B2B、B2C形式,其中B2B占销售额比重为<font color="#%(O20模式不含其中)。另外,我国大型药品流通企业纷纷“触网”,如国药进军体检行业合作成立“国药集团健康商城”、英特新型联盟形式“药店在线”、第三方B2C平台“天猫医药馆”、浙江珍诚自营式B2B模式“珍诚在线”、第三方B2B平台“我的医药网”、金象网O2O模式、上药+京东、阿里健康“云医疗”等多种模式,将为医药电子商务的发展提供更多的业务增长点。
据药品流通统计直报系统不完全统计,拥有互联网资质的医药电子商务营业收入平均增幅超过了<font color="#%,远远高于传统药品流通销售模式的增幅。概况而言,目前我国医药电商主要有三种运营模式:自营式B2C 网上药店、第三方平台模式和B2B 采购平台。
由于我国药品电商领域目前的政策、经济环境发展滞后,因此我国医药电子商务的发展还有颇多的问题待解决。
首先,最大的问题就是监管问题。随着经济的发展,电子商务的经营主体和形式必然会越来越多样化。尤其是当网络介入药品的流通渠道,原有的制药工厂、批发药企、零售药店、医疗机构、病患的关系会彻底打破;尤其是社会组织强势介入药品电商领域,更会带来不可避免的冲击。药品可能直接从制药工厂流向病患个人,物流公司也可能从事药品电商业务。在这一背景下,各类药品电商企业的经营行为是否能符合GSP的规范,药监部门如何对没有地域限制的网上经营进行监管等,都是难题。
其次,物流不成熟将制约药品电商发展。目前,我国绝大多数物流公司连GSP的含义都不懂。而药品电子商务的好处就是无视了空间距离,客户可以分布更广和直达个人(BTC模式),这就导致了会有更多的物流、快递企业进入药品物流领域,社会快递从事药品直送个人业务又给用药安全带来了隐患。
Powered by查看: 1694|回复: 18
我去?dgc的la 的 cn2gia升级g口了?
看来dgc又要搞事情了!
https://www.dgchost.net/client/cart.php?gid=10
(33.25 KB, 下载次数: 0)
10:48 上传
点击文件名下载附件
trieving speedtest.net configuration...
Testing from Digicore Limited (103.82.)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Atlantic Metro (Los Angeles, CA) [0.74 km]: 6.606 ms
Testing download speed................................................................................
Download: 105.55 Mbit/s
Testing upload speed................................................................................................
Upload: 82.23 Mbit/s
有 测试 IP 吗
大佬 好像每次dgc搞事情都有你第一时间发帖
这家流量多少呢?咋没写
这家流量多少呢?咋没写
流量不是写着
大佬 好像每次dgc搞事情都有你第一时间发帖
肯定啊 我比较关注他家的 还有gigs的嘿嘿
我只记得 dgc 很傲娇,一言不合就封号!
更新-------
不是封号,是停机器!
Powered byActive Posts
Recently Visited
Search Results
" data-extrabar="/forums/ws/extrabar.aspx?mid=959606&t=true&o=m&w=true&p=true .sidebarUrlWrap">Page Extras
Forum Themes
Writting EE data memory not working
Writting EE data memory not working
Showing page 1 of 2
Starting Member
<span class="ratingResult" id="ratingResult
Writting EE data memory not working
Hello Everybody,I'm trying to write data into the EEPROM data memory everytime i press a switch on the evaluation board but i haven't managed to do so so far:'(&IDE:MPLAB xCompiler: xc8 v1.38uc:p18f45k20&I tried two diferent ways&1st.- using the function "eeprom_write(address, Writtenvalue);" provided by the compiler libs. in this case the code compiles but when i check& the "EE Data memory window" in MPLAB IDE i see that nothing is writting into memory.&2nd.- using the custom function "eeprom_write_Pere(address, Writtenvalue);". In this case& the code wouldn't compile firing the following errors. it looks like some members of the EECON1 and PIR2 unions aren't recognized.&../04 Switch Input and interrupts.c:134: error: (196) struct/union required../04 Switch Input and interrupts.c:135: error: (196) struct/union required../04 Switch Input and interrupts.c:144: error: (196) struct/union required../04 Switch Input and interrupts.c:145: error: (196) struct/union required../04 Switch Input and interrupts.c:150: error: (196) struct/union required../04 Switch Input and interrupts.c:152: error: (196) struct/union required../04 Switch Input and interrupts.c:153: error: (196) struct/union required../04 Switch Input and interrupts.c:159: error: (196) struct/union required&any suggestion?&Best Regards&P.S i don't know why i dont' have permission to attached any picture files and code files :( so i'll post the code right here.&CODE:04 Switch Input and interrupts.c&/** C O N F I G U R A T I O N&& B I T S ******************************/#pragma config FOSC = INTIO67, FCMEN = OFF, IESO = OFF&&&&&&&&&&&&&&&&&&&&&& // CONFIG1H#pragma config PWRT = OFF, BOREN = SBORDIS, BORV = 30&&&&&&&&&&&&&&&&&&&&&&& // CONFIG2L#pragma config WDTEN = OFF, WDTPS = 32768&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // CONFIG2H#pragma config MCLRE = ON, LPT1OSC = OFF, PBADEN = ON, CCP2MX = PORTC&&&&&& // CONFIG3H#pragma config STVREN = ON, LVP = OFF, XINST = OFF&&&&&&&&&&&&&&&&&&&&&&&&& // CONFIG4L#pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF&&&&&&&&&&&&&&&&&& // CONFIG5L#pragma config CPB = OFF, CPD = OFF&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // CONFIG5H#pragma config WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF&&&&&&&&&&&&&& // CONFIG6L#pragma config WRTB = OFF, WRTC = OFF, WRTD = OFF&&&&&&&&&&&&&&&&&&&&&&&&&& // CONFIG6H#pragma config EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF, EBTR3 = OFF&&&&&&&&&& // CONFIG7L#pragma config EBTRB = OFF&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // CONFIG7H/** I N C L U D E S **************************************************///#include "p18f45k20.h"#include "xc.h"#include "delays.h"#include "04 Switch Input and interrupts.h"& // header file/** V A R I A B L E S *************************************************/#pragma udata&& // declare statically allocated uinitialized variablesunsigned char LED_D& // 8-bit variable/** D E C L A R A T I O N S *******************************************/#pragma code&&& // declare executable instructionsvoid main (void){&&& unsigned char Switch_Count = 0;&&& LED_Display = 1;&&&&&&&&&&& // initialize&&& //0x01 1st led&&& //0x02 2nd led&&& //0x04 3rd led&&& //0x08 4th led&&& //0x10 5th led&&& //0x20 6th led&&& //0x40 7th led&&& //0x80 8th led &&& TRISD = 0b;&&& &&& &// PORTD bits 7:0 are all outputs (0)&& &INTCON2bits.RBPU = 0;&& &&& &// enable PORTB internal pullups&& &WPUBbits.WPUB0 = 1;&& &&& &&& &// enable pull up on RB0&&& ANSELH = 0x00;&&&&&&&&&&&&& // AN8-12 are digital inputs (AN12 on RB0)&&& TRISBbits.TRISB0 = 1;&&&&&& // PORTB bit 0 (connected to switch) is input (1)&&& SetupINT0Switch();&&& //EnableInterrupts();&&& LATD = 0x01;&&& volatile unsigned char R&&& volatile unsigned char Writtenvalue=0x11;&&& unsigned char address = 0x00;&&& while (1)&&& {&&&&&&& //eeprom_write(address, Writtenvalue);&&&& // Writing value to EEPROM address&&&&& &&&&&&&& //Readvalue = eeprom_read(address);&&& // Reading the value from address &&&&&&& eeprom_write_Pere(address, Writtenvalue);&&&& // Writing value to EEPROM address&&&&& &&&&&&&& Readvalue = eeprom_read_Pere (address);&&& // Reading the value from address &&&&&&& address++;&&&&&&& if (address==0xFF)&&&&&&& {&&&&&&&&&& address=0x00; &&&&&&&&&& Writtenvalue=Writtenvalue+0x11;&&&&&&& }&&&&&& &&&&&&&& while (Switch_Pin != 1);// wait for switch to be released&&&&&&& Switch_Count = 5;&&&&&&& do&&&&&&& { // monitor switch input for 5 lows in a row to debounce&&&&&&&&&&& if (Switch_Pin == 0)&&&&&&&&&&& { // pressed state detected&&&&&&&&&&&&&&& Switch_Count++;&&&&&&&&&&& }&&&&&&&&&&& else&&&&&&&&&&& {&&&&&&&&&&&&&&& Switch_Count = 0;&&&&&&&&&&& }& &&&&&&&&&&&& Delay10TCYx(25);&&& // delay 250 cycles or 1ms.&&&&&&& } while (Switch_Count & DetectsInARow); &&& }&& &}void EnableInterrupts(void){&& // Set up global interrupts&&& RCONbits.IPEN = 0;&&&&&&&&& // Disable priority levels on interrupts&&& INTCONbits.PEIE = 1;&&&&&&& // Peripheral interrupts allowed (but none are used)&&& INTCONbits.GIE = 1;&&&&&&&& // Interrupting enabled.}void SetupINT0Switch(void){&& // Set up switch interrupt on INT0&&& INTCON2bits.INTEDG0 = 0;&&& // interrupt on falling edge of INT0 (switch pressed)&&& INTCONbits.INT0IF = 0;&&&&& // ensure flag is cleared&&& INTCONbits.INT0IE = 1;&&&&& // enable INT0 interrupt}unsigned char eeprom_read_Pere(unsigned char address){& EEADR = //Address to be read& EECON1.EEPGD = 0;//Selecting EEPROM Data Memory& EECON1.RD = 1; //Initialise read cycle& return EEDATA; //Returning data}void eeprom_write_Pere(unsigned char address, unsigned char datas){& unsigned char INTCON_SAVE;//To save INTCON register value& EEADR = //Address to write& EEDATA = //Data to write& EECON1.EEPGD = 0; //Selecting EEPROM Data Memory& EECON1.WREN = 1; //Enable writing of EEPROM& INTCON_SAVE=INTCON;//Backup INCON interupt register& INTCON=0; //Diables the interrupt& EECON2=0x55; //Required sequence for write to internal EEPROM& EECON2=0xAA; //Required sequence for write to internal EEPROM& EECON1.WR = 1; //Initialise write cycle& INTCON = INTCON_SAVE;//Enables Interrupt& EECON1.WREN = 0; //To disable write& while(PIR2.EEIF == 0)//Checking for complition of write operation& {&&& #asm&&& //do nothing&&& #endasm& }& PIR2.EEIF = 0; //Clearing EEIF bit}&04 Switch Input and interrupts.h/** D E F I N I T I O N S ****************************************************/#define Switch_Pin&&&&& PORTBbits.RB0#define DetectsInARow&& 5/** E X T E R N S ***************************************************/// declare variables accessible by other files./** P R O T O T Y P E S *****************************************/// function prototypesvoid EnableInterrupts(void);void SetupINT0Switch(void);void InterruptService(void);unsigned char eeprom_read_Pere(unsigned char);void eeprom_write_Pere(unsigned char, unsigned char);&
A Guy on the Net
The EEPROM function are just stubs. You can install the perpetual libraries to get them to work. OrYou can code it per the data sheet. Or you can use MCC to generate the code, then add that to your project.
Super Member
Running code that writes to EEPROM will not update the EEPROM view in the IDE.& You need to do a read operation from the PIC to see the new values.
Superb Member
PereTGN1st.- using the function "eeprom_write(address, Writtenvalue);" provided by the compiler libs. in this case the code compiles but when i check& the "EE Data memory window" in MPLAB IDE i see that nothing is writting into memory.As Neil mentioned, those functions don't do anything if you have not installed the peripherals libraries.Yes, it's silly that they fail silently, but that's how it is.&2nd.- using the custom function "eeprom_write_Pere(address, Writtenvalue);". In this case& the code wouldn't compile firing the following errors. it looks like some members of the EECON1 and PIR2 unions aren't recognized.&../04 Switch Input and interrupts.c:134: error: (196) struct/union required../04 Switch Input and interrupts.c:135: error: (196) struct/union required../04 Switch Input and interrupts.c:144: error: (196) struct/union required../04 Switch Input and interrupts.c:145: error: (196) struct/union required../04 Switch Input and interrupts.c:150: error: (196) struct/union required../04 Switch Input and interrupts.c:152: error: (196) struct/union required../04 Switch Input and interrupts.c:153: error: (196) struct/union required../04 Switch Input and interrupts.c:159: error: (196) struct/union required&Which lines are they?The code you posted only has 130 lines, but the errors start from line#134.&
Starting Member
Thanks you for the replies.&sorry i made a mistake while copying the c file.&being the "/** C O N F I G U R A T I O N&& B I T S ******************************/" line& the number 1, now the reported errors& are&&../04 Switch Input and interrupts.c:103: error: (196) struct/union required../04 Switch Input and interrupts.c:104: error: (196) struct/union required../04 Switch Input and interrupts.c:113: error: (196) struct/union required../04 Switch Input and interrupts.c:114: error: (196) struct/union required../04 Switch Input and interrupts.c:119: error: (196) struct/union required../04 Switch Input and interrupts.c:121: error: (196) struct/union required../04 Switch Input and interrupts.c:122: error: (196) struct/union required../04 Switch Input and interrupts.c:128: error: (196) struct/union required&Regards
Superb Member
<span class="ratingResult" id="ratingResult
What if you change#include "xc.h"to#include &xc.h&&
Starting Member
<span class="ratingResult" id="ratingResult
I tried that one before posting the problem here and it didn't work either:(it's weird coz if I just press ctrl + left mouse button on&EECON1 ,& the&p18f45k20.h file& pops up in the editor& showing the definition of the register EECON1 as you can see below so my understanding is that the compiler show be able to find the it.&anyway!! i'll try the other option other collegues give me here.&thanks for the help&Regardsp18f45k20.h& file // Register: EECON1--& "this is the line 3693 in my p18f45k20.h file"extern volatile unsigned char&&&&&&&&&& EECON1&&&&&&&&&&&&& @ 0xFA6;#ifndef _LIB_BUILDasm("EECON1 equ 0FA6h");#endif// bitfield definitionstypedef union {&&& struct {&&&&&&& unsigned RD&&&&&&&&&&&&&&&&&&&& :1;&&&&&&& unsigned WR&&&&&&&&&&&&&&&&&&&& :1;&&&&&&& unsigned WREN&&&&&&&&&&&&&&&&&& :1;&&&&&&& unsigned WRERR&&&&&&&&&&&&&&&&& :1;&&&&&&& unsigned FREE&&&&&&&&&&&&&&&&&& :1;&&&&&&& unsigned&&&&&&&&&&&&&&&&&&&&&&& :1;&&&&&&& unsigned CFGS&&&&&&&&&&&&&&&&&& :1;&&&&&&& unsigned EEPGD&&&&&&&&&&&&&&&&& :1;&&& };&&& struct {&&&&&&& unsigned&&&&&&&&&&&&&&&&&&&&&&& :6;&&&&&&& unsigned EEFS&&&&&&&&&&&&&&&&&& :1;&&& };} EECON1bits_t;extern volatile EECON1bits_t EECON1bits @ 0xFA6;&&
Superb Member
Are you sure you have selected 18f45k20 as the device in THIS project's properties?&
Starting Member
<span class="ratingResult" id="ratingResult
yes i did.&Here's a project properties snapshot but im not sure if you'll see it since when i click on preview post the snapshot is not shown but alphanumeric characters only&[image]data:image/base64,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

我要回帖

更多关于 gia cn2 是什么 的文章

 

随机推荐