{"id":4577,"date":"2021-07-14T09:05:48","date_gmt":"2021-07-14T09:05:48","guid":{"rendered":"https:\/\/www.enocean.com\/?post_type=enocean_faq&#038;p=4577"},"modified":"2021-07-15T09:16:16","modified_gmt":"2021-07-15T09:16:16","slug":"execution-of-callback-routines-of-interrupts-i-e-timer1","status":"publish","type":"enocean_faq","link":"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/","title":{"rendered":"Execution of callback routines of interrupts (i.e. timer1)"},"content":{"rendered":"\n<section class=\"wp-block-uagb-section uagb-section__wrap uagb-section__background-undefined uagb-block-a34d210d\"><div class=\"uagb-section__overlay\"><\/div><div class=\"uagb-section__inner-wrap\">\n<h1 class=\"wp-block-heading\">Execution of callback routines of interrupts (i.e. timer1)<\/h1>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_36e1c5-e5 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_36e1c5-e5 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_36e1c5-e5\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<p><strong>This article applies to:<\/strong><\/p>\n\n\n\n<p>DolphinAPI<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_f0ddc1-f3 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_f0ddc1-f3 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_f0ddc1-f3\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Question<\/strong><\/h2>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_1845bb-78 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_1845bb-78 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_1845bb-78\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<p>What are the allowed operations and execution duration of callback functions?<br>How often an interrupt event can occur?<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_e6bc7a-5c .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_e6bc7a-5c .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_e6bc7a-5c\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Answer<\/strong><\/h2>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_58ab72-53 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_58ab72-53 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_58ab72-53\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><a class=\"ek-link\">Overview on interrupt callback<\/a><\/h3>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_8680c9-d8 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_8680c9-d8 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_8680c9-d8\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<p>If planning an interrupt callback you have to consider this facts:<\/p>\n\n\n\n<p>As all interrupts have the same priority (except the UART interrupt) it is possible, that our callback has to wait, till radio, scheduler (timer0),timer1, i\/o callback or uart interrupt is executed. It is not possible to guaranty a minimum time from triggering any interrupt till execution of the interrupt service routine.<\/p>\n\n\n\n<p>An interrupt callback will be executed within the interrupt handler. So you have to be carefull what the callback does generally these rules apply<\/p>\n\n\n\n<p>&#8211; Do not stay in the callback function too long (not more than 100 us because that takes too much time away from the scheduler, see more info on the scheduler in the&nbsp;<a href=\"https:\/\/www.enocean.com\/fileadmin\/redaktion\/pdf\/download\/EO3000I_API.chm\">DolphinAPI Manual<\/a>)<\/p>\n\n\n\n<p>&#8211; Do not call other API functions than io_getDigital or io_getPort in callback function<\/p>\n\n\n\n<p>&#8211; Do not switch the registerbank.<\/p>\n\n\n\n<p>&#8211; Do not use overlaying and optimizing in callback function.<\/p>\n\n\n\n<p>&#8211; You are allowed to allocate local variables<\/p>\n\n\n\n<p>&#8211; You are allowed to read from flash using code[]<\/p>\n\n\n\n<p>&#8211; You are allowed to change global variables of the code but before be sure to set them to&nbsp;<em>volatile<\/em>. For more info on volatile see&nbsp;<a href=\"http:\/\/www.keil.com\/support\/man\/docs\/c51\/c51_le_volatile.htm\">KEILs Manual on Cx51<\/a>.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_aa45e5-dd .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_aa45e5-dd .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_aa45e5-dd\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><a class=\"ek-link\">Callback duration<\/a><\/h3>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_dce7e2-ca .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_dce7e2-ca .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_dce7e2-ca\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<p>As mentioned before:&nbsp;<em>Do not stay in the callback function too long<\/em>. It is important to:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>measure how long the execution takes<\/li><li>be sure that the interrupt event will not occur in shorter period then the execution takes<\/li><\/ul>\n\n\n\n<p>For example this code:<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_6d65d7-88 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_6d65d7-88 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_6d65d7-88\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_c96ec5-18 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_c96ec5-18 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_c96ec5-18\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<pre class=\"wp-block-preformatted\">uint8 tempDigitalOutputState;\n\nvoid callback(void)\n {\n  \n     io_getDigital(SCLKDIO_1, &amp;tempDigitalOutputState);\n  \n     io_setDigital(SCLKDIO_1, 1-tempDigitalOutputState); \n\n  return;\n }<\/pre>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_1545fb-3e .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_1545fb-3e .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_1545fb-3e\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_6da894-66 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_6da894-66 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_6da894-66\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<p>Is a common callback. The execution of this can be measured by the&nbsp;<em>KEILs uVision Simulato<\/em>r<\/p>\n\n\n\n<p>First set the breakpoint of the simulator on the function start and start debug simulator.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_400a15-33 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_400a15-33 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_400a15-33\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"506\" height=\"143\" src=\"https:\/\/www.enocean.com\/wp-content\/uploads\/working-times_may_enocean-werkstudent.png\" alt=\"\" class=\"wp-image-4578\" srcset=\"https:\/\/www.enocean.com\/wp-content\/uploads\/working-times_may_enocean-werkstudent.png 506w, https:\/\/www.enocean.com\/wp-content\/uploads\/working-times_may_enocean-werkstudent-300x85.png 300w, https:\/\/www.enocean.com\/wp-content\/uploads\/working-times_may_enocean-werkstudent-150x42.png 150w\" sizes=\"(max-width: 506px) 100vw, 506px\" \/><\/figure><\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_e76b1f-7a .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_e76b1f-7a .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_e76b1f-7a\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<p>\\\\<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_682f27-25 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_682f27-25 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_682f27-25\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"257\" height=\"83\" src=\"https:\/\/www.enocean.com\/wp-content\/uploads\/reset_sim_start.png\" alt=\"\" class=\"wp-image-4581\" srcset=\"https:\/\/www.enocean.com\/wp-content\/uploads\/reset_sim_start.png 257w, https:\/\/www.enocean.com\/wp-content\/uploads\/reset_sim_start-150x48.png 150w\" sizes=\"(max-width: 257px) 100vw, 257px\" \/><\/figure><\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_404237-d1 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_404237-d1 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_404237-d1\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<p>When the execution stops at our breakpoint point reset the stop watch (right mouse click on the stop watch)<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_bee095-d7 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_bee095-d7 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_bee095-d7\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"952\" height=\"231\" src=\"https:\/\/www.enocean.com\/wp-content\/uploads\/reset_sim.png\" alt=\"\" class=\"wp-image-4584\" srcset=\"https:\/\/www.enocean.com\/wp-content\/uploads\/reset_sim.png 952w, https:\/\/www.enocean.com\/wp-content\/uploads\/reset_sim-300x73.png 300w, https:\/\/www.enocean.com\/wp-content\/uploads\/reset_sim-150x36.png 150w, https:\/\/www.enocean.com\/wp-content\/uploads\/reset_sim-768x186.png 768w\" sizes=\"(max-width: 952px) 100vw, 952px\" \/><\/figure><\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_0902c0-f3 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_0902c0-f3 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_0902c0-f3\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<p>step the code to the end of the function and see the stop watch result.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_54e45c-86 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_54e45c-86 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_54e45c-86\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"852\" height=\"262\" src=\"https:\/\/www.enocean.com\/wp-content\/uploads\/reset_sim_result.png\" alt=\"\" class=\"wp-image-4587\" srcset=\"https:\/\/www.enocean.com\/wp-content\/uploads\/reset_sim_result.png 852w, https:\/\/www.enocean.com\/wp-content\/uploads\/reset_sim_result-300x92.png 300w, https:\/\/www.enocean.com\/wp-content\/uploads\/reset_sim_result-150x46.png 150w, https:\/\/www.enocean.com\/wp-content\/uploads\/reset_sim_result-768x236.png 768w\" sizes=\"(max-width: 852px) 100vw, 852px\" \/><\/figure><\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_ae160e-be .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_ae160e-be .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_ae160e-be\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<p><em>KEILs uVision<\/em>&nbsp;has a complete description of Dolphin instruction set so the showed stop watch result is reliable. I this case our callback function executes&nbsp;<strong>24,38 us<\/strong>. This also means that the interrupt event can occur tops every 25 us.<br>For more details and support visit&nbsp;<a href=\"http:\/\/www.keil.com\/support\/\">KEILs uVision Support page<\/a>.<\/p>\n\n\n\n<p>There is a possibility to slightly increase the speed of the callback function. You can place the variable in the internal data i.e.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_39de37-2d .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_39de37-2d .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_39de37-2d\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_983eb0-38 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_983eb0-38 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_983eb0-38\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<pre class=\"wp-block-preformatted\">uint8 tempDigitalOutputState;\n\n\/\/to\n\nuint8 data tempDigitalOutputState;<\/pre>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_39cffa-f9 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_39cffa-f9 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_39cffa-f9\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_5b5ddc-9f .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_5b5ddc-9f .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_5b5ddc-9f\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<p>Variables placed in&nbsp;<strong>DATA<\/strong>&nbsp;are handled much faster as variable placed in&nbsp;<strong>XDATA<\/strong>&nbsp;(default memory space). The execution of our example callback function is then reduced to&nbsp;<strong>22,13 us<\/strong>.<\/p>\n\n\n\n<p>For more information make sure to read the&nbsp;<a href=\"http:\/\/www.keil.com\/support\/man\/docs\/c51\/c51_le_memtypes.htm\">KEILs Manual about memory configuration<\/a>&nbsp;of the 8051.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-_8bc4a3-53 .kt-block-spacer{height:20px;}.wp-block-kadence-spacer.kt-block-spacer-_8bc4a3-53 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-_8bc4a3-53\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\" style=\"height:20px\"><\/div><\/div>\n\n\n\n<p><strong>REFERENCES:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.enocean.com\/fileadmin\/redaktion\/pdf\/download\/EO3000I_API.chm\">DolphinAPI Manual<\/a><\/li><li><a href=\"http:\/\/www.keil.com\/support\/man\/docs\/c51\/c51_le_volatile.htm\">KEILs Manual on Cx51, volatile keyword<\/a><\/li><li><a href=\"http:\/\/www.keil.com\/support\/\">KEILs uVision Support page<\/a><\/li><li><a href=\"http:\/\/www.keil.com\/support\/man\/docs\/c51\/c51_le_memtypes.htm\">KEILs Manual about memory configuration<\/a><\/li><\/ul>\n<\/div><\/section>\n","protected":false},"featured_media":0,"template":"","faq_category":[103],"class_list":["post-4577","enocean_faq","type-enocean_faq","status-publish","hentry","faq_category-software"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Execution of callback routines of interrupts (i.e. timer1) - EnOcean<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Execution of callback routines of interrupts (i.e. timer1) - EnOcean\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/\" \/>\n<meta property=\"og:site_name\" content=\"EnOcean\" \/>\n<meta property=\"article:modified_time\" content=\"2021-07-15T09:16:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.enocean.com\/wp-content\/uploads\/working-times_may_enocean-werkstudent.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"3\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/\",\"url\":\"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/\",\"name\":\"Execution of callback routines of interrupts (i.e. timer1) - EnOcean\",\"isPartOf\":{\"@id\":\"https:\/\/www.enocean.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.enocean.com\/wp-content\/uploads\/working-times_may_enocean-werkstudent.png\",\"datePublished\":\"2021-07-14T09:05:48+00:00\",\"dateModified\":\"2021-07-15T09:16:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/#primaryimage\",\"url\":\"https:\/\/www.enocean.com\/wp-content\/uploads\/working-times_may_enocean-werkstudent.png\",\"contentUrl\":\"https:\/\/www.enocean.com\/wp-content\/uploads\/working-times_may_enocean-werkstudent.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/www.enocean.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"FAQ\",\"item\":\"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Execution of callback routines of interrupts (i.e. timer1)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.enocean.com\/de\/#website\",\"url\":\"https:\/\/www.enocean.com\/de\/\",\"name\":\"EnOcean\",\"description\":\"EnOcean Relaunch\",\"publisher\":{\"@id\":\"https:\/\/www.enocean.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.enocean.com\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.enocean.com\/de\/#organization\",\"name\":\"EnOcean\",\"url\":\"https:\/\/www.enocean.com\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.enocean.com\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.enocean.com\/wp-content\/uploads\/Logos\/1-1.png\",\"contentUrl\":\"https:\/\/www.enocean.com\/wp-content\/uploads\/Logos\/1-1.png\",\"width\":500,\"height\":500,\"caption\":\"EnOcean\"},\"image\":{\"@id\":\"https:\/\/www.enocean.com\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/enocean\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Execution of callback routines of interrupts (i.e. timer1) - EnOcean","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/","og_locale":"de_DE","og_type":"article","og_title":"Execution of callback routines of interrupts (i.e. timer1) - EnOcean","og_url":"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/","og_site_name":"EnOcean","article_modified_time":"2021-07-15T09:16:16+00:00","og_image":[{"url":"https:\/\/www.enocean.com\/wp-content\/uploads\/working-times_may_enocean-werkstudent.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"3\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/","url":"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/","name":"Execution of callback routines of interrupts (i.e. timer1) - EnOcean","isPartOf":{"@id":"https:\/\/www.enocean.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/#primaryimage"},"image":{"@id":"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.enocean.com\/wp-content\/uploads\/working-times_may_enocean-werkstudent.png","datePublished":"2021-07-14T09:05:48+00:00","dateModified":"2021-07-15T09:16:16+00:00","breadcrumb":{"@id":"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/#primaryimage","url":"https:\/\/www.enocean.com\/wp-content\/uploads\/working-times_may_enocean-werkstudent.png","contentUrl":"https:\/\/www.enocean.com\/wp-content\/uploads\/working-times_may_enocean-werkstudent.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/execution-of-callback-routines-of-interrupts-i-e-timer1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.enocean.com\/de\/"},{"@type":"ListItem","position":2,"name":"FAQ","item":"https:\/\/www.enocean.com\/de\/faq-knowledge-base\/"},{"@type":"ListItem","position":3,"name":"Execution of callback routines of interrupts (i.e. timer1)"}]},{"@type":"WebSite","@id":"https:\/\/www.enocean.com\/de\/#website","url":"https:\/\/www.enocean.com\/de\/","name":"EnOcean","description":"EnOcean Relaunch","publisher":{"@id":"https:\/\/www.enocean.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.enocean.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.enocean.com\/de\/#organization","name":"EnOcean","url":"https:\/\/www.enocean.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.enocean.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.enocean.com\/wp-content\/uploads\/Logos\/1-1.png","contentUrl":"https:\/\/www.enocean.com\/wp-content\/uploads\/Logos\/1-1.png","width":500,"height":500,"caption":"EnOcean"},"image":{"@id":"https:\/\/www.enocean.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/enocean\/"]}]}},"taxonomy_info":{"faq_category":[{"value":103,"label":"Software"}]},"featured_image_src_large":false,"author_info":[],"comment_info":"","uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Jose Salek","author_link":"https:\/\/www.enocean.com\/de\/author\/"},"uagb_comment_info":0,"uagb_excerpt":null,"_links":{"self":[{"href":"https:\/\/www.enocean.com\/de\/wp-json\/wp\/v2\/enocean_faq\/4577","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.enocean.com\/de\/wp-json\/wp\/v2\/enocean_faq"}],"about":[{"href":"https:\/\/www.enocean.com\/de\/wp-json\/wp\/v2\/types\/enocean_faq"}],"version-history":[{"count":0,"href":"https:\/\/www.enocean.com\/de\/wp-json\/wp\/v2\/enocean_faq\/4577\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.enocean.com\/de\/wp-json\/wp\/v2\/media?parent=4577"}],"wp:term":[{"taxonomy":"faq_category","embeddable":true,"href":"https:\/\/www.enocean.com\/de\/wp-json\/wp\/v2\/faq_category?post=4577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}